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
22<script type="application/ld+json"> 23{ 24 "@context": "https://schema.org", 25 "@type": "Restaurant", 26 "@id": "https://doughboyz.com.au/", 27 "name": "Dough Boyz", 28 "url": "https://doughboyz.com.au/", 29 "telephone": "08 8932 9446", 30 "address": { 31 "@type": "PostalAddress", 32 "streetAddress": "T1 Zuccoli Parade", 33 "addressLocality": "Zuccoli", 34 "addressRegion": "NT", 35 "postalCode": "0832", 36 "addressCountry": "AU" 37 }, 38 "openingHoursSpecification": [ 39 { 40 "@type": "OpeningHoursSpecification", 41 "dayOfWeek": "Monday", 42 "opens": "16:00", 43 "closes": "21:00" 44 }, 45 { 46 "@type": "OpeningHoursSpecification", 47 "dayOfWeek": "Tuesday", 48 "opens": "16:00", 49 "closes": "21:00" 50 }, 51 { 52 "@type": "OpeningHoursSpecification", 53 "dayOfWeek": "Wednesday", 54 "opens": "16:00", 55 "closes": "21:00" 56 }, 57 { 58 "@type": "OpeningHoursSpecification", 59 "dayOfWeek": "Thursday", 60 "opens": "16:00", 61 "closes": "21:00" 62 }, 63 { 64 "@type": "OpeningHoursSpecification", 65 "dayOfWeek": "Friday", 66 "opens": "16:00", 67 "closes": "21:00" 68 }, 69 { 70 "@type": "OpeningHoursSpecification", 71 "dayOfWeek": "Saturday", 72 "opens": "16:00", 73 "closes": "21:00" 74 }, 75 { 76 "@type": "OpeningHoursSpecification", 77 "dayOfWeek": "Sunday", 78 "opens": "16:00", 79 "closes": "21:00" 80 } 81 ], 82 "servesCuisine": "Pizza, Pasta, Ribs, Wings, Dessert", 83 "hasMenu": { 84 "@type": "Menu", 85 "url": "https://doughboyz.com.au/#menu-items" 86 } 87} 88</script>
88 <link rel="shortcut icon" href="https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/favicon.png" type="image/x-icon"> 89 <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="images/startup.png"> 90 91 <style> 92 #menu-items, #main-content, .mainpage, .office-info, .footerWrap{ display: none; } 93 #main-content{ 94 min-height: 100%; 95 } 96 #wrap:before{ 97 content: ''; 98 background: #000; 99 width: 100%; 100 height: 100%; 101 } 102 103 104 /* 105 * Select2 css 106 */ 107 .selection{ 108 width: 100%; 109 } 110 111 .select2-container{ 112 height: 33px!important; 113 line-height: 33px!important; 114 } 115 116 .select2-selection__rendered { 117 padding-left: 30px!important; 118 padding-right: 12px; 119 } 120 121 .select2-container .select2-selection--single { 122 height: 35px!important; 123 } 124 125 .select2-container--default .select2-selection--single .select2-selection__rendered{ 126 line-height: 33px!important; 127 } 128 129 .has-error .select2-selection { 130 border-color: #a94442!important; 131 } 132 133 .has-success .select2-selection { 134 border-color: #3c763d!important; 135 } 136 137 .select2-selection--single { 138 height: 100% !important; 139 } 140 .select2-selection__rendered{ 141 word-wrap: break-word !important; 142 text-overflow: inherit !important; 143 white-space: normal !important; 144 } 145 146 #product_version .modal { 147 text-align: center; 148 padding: 0!important; 149 background: none !important; 150 } 151 152 #product_version .modal-content{ 153 box-shadow: none !important; 154 border-radius: 0; 155 } 156 157 #product_version .modal-header{ 158 background: #a91919; 159 color: #fff; 160 } 161 162 #product_version .modal-body{ 163 word-break: break-word; 164 } 165 166 #product_version .modal:before { 167 content: ''; 168 display: inline-block; 169 height: 100%; 170 vertical-align: middle; 171 margin-right: -4px; /* Adjusts for spacing */ 172 } 173 174 #product_version .modal-dialog { 175 display: inline-block; 176 text-align: left; 177 vertical-align: middle; 178 } 179 180 #product_version .modal-header .close{ 181 color: #fff; 182 text-align: unset; 183 } 184 185 186 187 188 189 #table-txt{ 190 width: 96%; 191 margin-left: 2%; 192 padding: 15px 0; 193 text-align: center; 194 font-size: 25px; 195 font-weight: 700; 196 background-color: #3498db; 197 color: #fff; 198 } 199 200 @media only screen and (max-width: 414px){ 201 #table-txt{ 202 width: 94%; 203 margin-left: 3%; 204 } 205 } 206 207 /* OOA-109 Remove pause button */ 208 .ui-pnotify .ui-pnotify-sticker{ 209 display: none; 210 } 211 212 /* Loke loader */ 213 .loader_wrapper { 214 background-color: #fff; 215 width: 100%; 216 height: 100%; 217 z-index: 1030; 218 position: fixed; 219 } 220 .loader_container { 221 position: fixed; 222 width: 100%; 223 height: 100%; 224 top: 20%; 225 z-index: 1031; 226 } 227 .loader_ajax_small { 228 border: 3px solid #eee !important; 229 border-radius: 50%; 230 border-top: 2px solid #333 !important; 231 width: 100px; 232 height: 100px; 233 margin: 0 auto; 234 -webkit-animation: spin_loader_ajax_small 2s linear infinite; 235 animation: spin_loader_ajax_small 2s linear infinite; 236 } 237 @-webkit-keyframes spin_loader_ajax_small { 238 0% { -webkit-transform: rotate(0deg); } 239 100% { -webkit-transform: rotate(360deg); } 240 } 241 @keyframes spin_loader_ajax_small { 242 0% { transform: rotate(0deg); } 243 100% { transform: rotate(360deg); } 244 } 245 246 247 .pac-container{ 248 background-color: #ffffff; 249 position: absolute; 250 z-index: 1000; 251 border-top: 1px solid #d9d9d9; 252 -webkit-box-shadow: 0 2px 6px rgba(0,0,0,.3); 253 box-shadow: 0 2px 6px rgba(0,0,0,.3); 254 -webkit-box-sizing: border-box; 255 box-sizing: border-box; 256 overflow: hidden; 257 } 258 </style> 259 260 <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'> 261 <style> 262 @font-face { 263 font-family: 'Glyphicons Halflings'; 264 src: url("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/fonts/glyphicons-halflings-regular.eot"); 265 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"); 266 } 267 </style> 268 <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"> 269 <link type='text/css' rel='stylesheet' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/css/all.css'>
269<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'> 270 271 <link type='text/css' rel='stylesheet' href='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/themes_oo.css'"> 272 273 <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" /> 274 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/splide.min.css"> 275 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/themes/splide-sea-green.min.css"> 276
276<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
276 277 278 <!--GoogleMap--> 279 <!--
279<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=AIzaSyDiFzy_CwiC1t90mE7nskFbtrBhPOTsIgo®ion=AU&callback=initMap' async defer></script>
279 --> 280
280<script src='https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=AIzaSyByHLsoWqVag96TcJTq2O2tPLU3qGLbvcE®ion=AU&callback=initMap' async defer></script>
280
280<script type="text/javascript"> 281 var autocompleteService, sessionToken, service; 282 function initMap() {} 283 </script>
283 284 285
285<script type="text/javascript"> 286 // For franchise_logo on feedback widget (OOA-249) 287 var session_logo = ""; 288 session_logo = "https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png"; 289 290 $('body').ready(function(){ 291 $('#menu-items, #main-content, .mainpage, .office-info, .footerWrap').fadeIn(); 292 $('#wrap').addClass('menu-ready'); 293 }); 294 </script>
294 295
295<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
295 296
296<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
296 297
297<script src="https://cdnjs.cloudflare.com/ajax/libs/smoothscroll/1.4.10/SmoothScroll.js"></script>
297 298
298<script> 299 $(document).ready(function(){ 300 if($("#storeSelected").val() != 1){ 301 if($(window).width() > 1024){ 302 var store_list_option=""; 303 $.ajax({ 304 method: 'POST', 305 data: { 306 'account_id': '', 307 'sort_state': 0 }, 308 dataType: 'json', 309 url: 'core/ajax/get_multi_store.php', 310 }).done(function(data){ 311 var i = 0; 312 $.each(data, function(k, v){ 313 if(v.client_status === 'active'){ 314 store_list_option += "<option value='"+v.client_code+"'>"+v.store_name+"</option>"; 315 i++; 316 } 317 }); 318 319 if(i > 0){ 320 $(".feedback_me_form ul").prepend('<div id="feedback_store_list" style="margin-top:-20px;margin-bottom:10px;padding-bottom:10px;">' + 321 '<label class="fieldTitle"> Select Store</label> <span class="required_asterisk">*</span><br />' + 322 '<select style="width:340px;" required class="feedback_store form-control">' + 323 '<option value="">:::Please Select:::</option>' + 324 store_list_option + 325 '</select>' + 326 '</div>'); 327 328 } 329 }); 330 } 331 } 332 }); 333 </script>
333 334
334<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 334
334
335<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 335
335
336<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 336
336
337<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 337
337
338<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 338
338
339<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 339
339
340<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 340
340
341<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 341
341
342<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 342
342
343<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 343
343
344<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 344
344
345<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 345
345
346<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 346
346
347<script type='text/javascript' src='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/typeahead.bundle.min.js'></script>
347 348
348<script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/js/splide.min.js"></script>
348 349
349<script type='text/javascript'> 350 var IS_AUS = true; 351</script>
351 352
353<script> 354 $(document).ready(function(){ 355 // $('link[href="/deals.css"]').remove(); 356 $("#cancel").live("click", function(){ 357 $(".popover").toggle(); 358 }); 359 360 if(localStorage.getItem('activeTab') != null){ 361 localStorage.removeItem('activeTab'); 362 } 363 364 $(".feedback_trigger").hide(); 365 $('a[href="?page=feedback"]').each(function() { 366 const $parent = $(this).parent(); 367 if($parent.is('li')){ 368 $parent.remove(); 369 } else{ 370 $(this).remove(); 371 } 372 }); 373 }); 374</script>
374 375 376 377 378 379 380 381 <!-- Google redirect conversion tracking --> 382
382<script> 383 const rwgQuery = location.search.substring(1), 384 rwgParams = rwgQuery.split('&'); 385 let rwgToken = undefined; 386 387 for(let i = 0; i < rwgParams.length; ++i){ 388 const rwgPair = rwgParams[i].split('='); 389 if (rwgPair[0] == 'rwg_token') { 390 rwgToken = decodeURIComponent(rwgPair[1]); 391 break; 392 } 393 } 394 395 if(typeof rwgToken !== 'undefined'){ 396 const rwgDomain = window.location.hostname; // Get the current domain dynamically 397 document.cookie = `_rwg_token=${rwgToken};max-age=2592000;domain=${rwgDomain};path=/`; // store the token in the cookie for 30 days 398 } 399 </script>
399 400
401<script> 402 jQuery(document).ready(function($){ 403 404 405 406 $("#login-nav").click(function(){ 407 window.login_referer = 'navbar'; // login_referer to determine the flow of login. 408 $(".or_guest, .checkout_as_guest").show(); 409 $(".register-ling a").attr('href','?page=register'); 410 $(".checkout_as_guest a").text('Login as Guest'); 411 $('#login-wrap').fadeToggle("fast"); 412 $(this).blur(); 413 }); 414 415 $("#login-section #cancel").click(function(){ 416 $('#login-wrap').fadeToggle("fast"); 417 }); 418 419 $("#login-section .close").click(function(){ 420 if(!$(this).hasClass("disabled")){ 421 $('#login-wrap').fadeToggle("fast"); 422 } 423 }); 424 425 var txt; 426 427 $("[data-toggle=popover]").popover({ 428 placement : 'bottom', 429 html : 'true', 430 content : txt 431 }).click(function(e){ e.preventDefault(); }); 432 433 showModal = function(){ 434 $('#myModal').modal({ 435 keyboard: false, 436 show: true 437 }); 438 439 $("#myModal #processing-text").html('Processing Order'); 440 } 441 442 hideModal = function(){ 443 $('#myModal').modal('hide'); 444 } 445 446 447 $("#refer_form").submit(function(){ 448 $("#refer_form button").prop("disabled", true); 449 $("#refer-btn").html("Sending. Please wait."); 450 $.ajax({ 451 url: 'core/ajax/refer_friend_send.php', 452 type: 'POST', 453 data: $("#refer_form").serialize(), 454 success: function(){ 455 $("#refer_form input, #refer_form button").prop("disabled", true); 456 $("#refer-btn").html("E-mail sent"); 457 458 showModalAlert('success', '', "<h4><center>Message has been sent!</center></h4>", 'OK', function(){ 459 window.location = window.location.href.split("?")[0]; 460 }); 461 }, 462 error: function(){ 463 $("#refer_form button").prop("disabled", false); 464 $("#refer-btn").html("Send Referal"); 465 showModalAlert("error", "", "<h4><center>Message not sent!</center></h4>", "OK"); 466 } 467 }); 468 469 return false; 470 }); 471 }); 472</script>
472 473
474<script> 475 var $j = jQuery.noConflict(); 476 // bootstrap no conflict 477 $j(document).ready(function(){ 478 $j(function(){ 479 $j('[data-toggle="tooltip"]').tooltip(); 480 481 }); 482 483 }); 484 485 486 function checked_io(elem, themeTemplate){ 487 if(elem.is(':checkbox')){ 488 if(elem.is(':checked')){ 489 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"); 490 } else{ 491 elem.siblings('.input-group-label').children('.check-img-popup').css('visibility',"hidden").attr("src",""); 492 } 493 } else{ 494 elem.parent().parent().find('.check-img-popup').css('visibility',"hidden").attr('src',""); 495 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"); 496 } 497 498 if(elem.parent().parent().find('.check-img-popup').length > 0){ 499 elem.parent().parent().find('.check-img-popup').each(function(){ 500 if($(this).css("display") == "none"){ 501 $(this).css("display", ""); 502 } 503 }); 504 } 505 } 506 507 var countdown_timer; 508 function resend_countdown(resendTimer){ 509 resend_counter = 59; 510 countdown_timer = setInterval(function(){ 511 resend_counter -= 1; 512 $("#"+resendTimer).addClass("disabled").text("Resend code in "+resend_counter); 513 if(resend_counter < 0) { 514 clearInterval(countdown_timer); 515 $("#"+resendTimer).removeClass("disabled").text("Resend code"); 516 } 517 }, 1000) 518 } 519 520 function showMessage(elem, className, msg, timeOut){ 521 elem.addClass(className).text(msg).show(); 522 523 if(timeOut != undefined){ 524 setTimeout(function(){ 525 elem.hide(); 526 }, timeOut); 527 } 528 } 529</script>
529 530 531
532<script> 533 (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") 534</script>
534 535 536
537<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
vendor: 1 bytes, line 537
537
538<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 538
538
539<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 539
539
540<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 540
540
541<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 541
541
542<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>
542 543<link rel='stylesheet' type='text/css' href='https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/scripts/autocomplete.css'> 544<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'> 545<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'> 546 547
547<script>
vendor: 331 bytes, lines 547-551
547 548 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 549 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 550 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 551 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '
551UA-49593232-2
vendor: 30 bytes, lines 551-552
551', {'name':'dsoftonline'}); 552
552ga('dsoftonline.send', 'pageview'); 553 </script>
553 554
554<script type="text/javascript" src="https://iplogger.deliverit.com.au/deliverit-sdk.php"></script>
554 555
555<script type="text/javascript"> 556 $(document).ready(function(){ 557 try{ 558 var deliveritSDK = new DeliveritSDK(); 559 var customerIP = deliveritSDK.getCustomerIP() +":"+ deliveritSDK.getCustomerPort(); 560 }catch(e){ 561 var customerIP = "::1"; 562 } 563 if(!customerIP){ 564 customerIP = "::1"; // handles late transition of script to prevent error 565 } 566 $.post("core/ajax/get_ip.php",{'customerIP':customerIP}); 567 }); 568 </script>
568 569
570<script> 571 var promo_last_io_checked = new Array(); 572 573 $(document).ready(function(){ 574 var refreshSession = function(){ 575 var time = 600000; // 10 mins 576 setTimeout(function(){ 577 $.ajax({ 578 url: 'core/ajax/refreshsession.php', 579 cache: false, 580 complete: function(){refreshSession();} 581 }); 582 }, time); 583 }; 584 refreshSession(); 585 586 587 const urlParams = new URLSearchParams(window.location.search); 588 const param_page = urlParams.get('page'); 589 const current_template = 'template4'; 590 591 if (param_page || current_template == 'template4' || current_template == 'localserves') { 592 $j('.storeinfo .header-info-toggle.navbar-toggle span.glyphicon').show(); 593 594 setMobileEstimatedTime(current_template); 595 596 //Observe the change of estimated time 597 var estimatedTime = $('#estimated-time'); 598 this.observer = new MutationObserver(function (mutations) { 599 setMobileEstimatedTime(current_template); 600 }.bind(this)); 601 602 if (estimatedTime.length > 0) { 603 this.observer.observe(estimatedTime.get(0), {characterData: true, childList: true}); 604 } 605 } 606 607 $j('.storeinfo #bs-navbar').on('hidden.bs.collapse', toggleChevron); 608 $j('.storeinfo #bs-navbar').on('shown.bs.collapse', toggleChevron); 609 610 function setMobileEstimatedTime(current_template) { 611 var estTime = $("#estimated-time #est-time").text(); 612 var mins = $("#estimated-time #time-mins").contents().first().text().trim(); 613 var deliveryTime = $("#estimated-time #time-mins p").text(); 614 var info = $("#estimated-time > h3").text(); 615 var alert = $("#estimated-time .alert").text(); 616 617 if (estTime !== '') { 618 var timestring = '<i class="fa-solid fa-clock-rotate-left"></i> ' + deliveryTime + ': <strong> ' + estTime + ' ' + mins + '</strong>'; 619 $(".mobile-estimated-time").html(timestring); 620 } else if (info !== '' || alert !== '') { 621 if (info !== '') { 622 $(".mobile-estimated-time").html(info); 623 } else { 624 $(".mobile-estimated-time").html(alert); 625 } 626 } 627 } 628 629 function toggleChevron(e) { 630 $j(e.target) 631 .prev('#title') 632 .find('.navbar-toggle span.glyphicon') 633 .toggleClass('glyphicon-chevron-up glyphicon-chevron-down'); 634 } 635 636 $j('input[name="email"]').on('input', function() { 637 const trimmedValue = $(this).val().trim(); 638 $(this).val(trimmedValue); 639 }); 640 641 $("#promo-modifier-modal .promo-item-option-radio-list").live("click", function(){ 642 var modal_div = $(this).closest('.modal.fade').attr('id'); 643 var multiple_io = $(this).attr('multiple-io'); 644 var mio_id = $(this).attr('mio-id'); 645 646 if(typeof multiple_io === "undefined" || multiple_io === false){ 647 $('#'+ modal_div +' .promo-item-option-radio-list').attr('checked', false); 648 $(this).attr('checked', true); 649 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', $(this).attr('ref')); 650 } else{
651 var min_io = $(this).attr('min-io'); 652 var max_io = $(this).attr('max-io'); 653 654 if($("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length >= min_io){ 655 $(this).parent().parent().css({"padding":"", "border":""}); 656 } 657 658 if(max_io == 1 && $("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length > 1){ 659 $("#"+modal_div+" [name='"+$(this).attr('name')+"']").attr('checked', false); 660 $(this).attr('checked', true); 661 } else if($("#"+modal_div+" [name='"+$(this).attr('name')+"']:checked").length > max_io){ 662 $("#"+promo_last_io_checked[mio_id]).attr('checked', false); 663 } 664 promo_last_io_checked[mio_id] = $(this).attr('id'); 665 666 // checking of selected modifiers 667 var mio_ids = [], 668 mio_msg = [], 669 mio_req = 0 670 option_ids = []; 671 672 $("#"+ modal_div +" .promo-item-option-radio-list").each(function(){ 673 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 674 mio_ids.push($(this).attr('mio-id')); 675 } 676 mio_ids = [... new Set(mio_ids)]; 677 678 if($(this).is(':checked')){ 679 option_ids.push($(this).attr('ref')); 680 } 681 }); 682 683 var io_div; 684 $.each(mio_ids, function(key, val){ 685 var io_selected = $("#"+modal_div+" [mio-id='"+val+"']:checked").length, 686 io_min = $("#"+modal_div+" [mio-id='"+val+"']:first").attr('min-io'), 687 io_max = $("#"+modal_div+" [mio-id='"+val+"']:first").attr('max-io'), 688 io_name = $("#"+modal_div+" [mio-id='"+val+"']:first").parent().siblings("div.promo-item-option-group-name-"+val).find("p").text(), 689 io_container = $("#"+modal_div+" [mio-id='"+val+"']:first").parent().parent(); 690 691 if(io_selected < io_min || io_selected > io_max){ 692 mio_req++; 693 } 694 }); 695 696 $('#promo-modifier-modal .modal-footer .btn').prop('disabled', (mio_req > 0 ? true : false)); 697 698 if(mio_req <= 0){ 699 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', option_ids.join(",")); 700 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('disable'); 701 } else{ 702 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('enable'); 703 } 704 } 705 706 checked_io($(this), "template4"); 707 }); 708 709 $('#promo-modifier-modal .modal-footer .btn').live('click', function(){ 710 $(this).prop('disabled', true); 711 if($(this).hasClass('item-option')){ 712 var data = []; 713 data['option_id'] = $(this).data('option-ids'); 714 data['qty'] = 1; 715 716 $("#promo-modifier-modal .modal-body .modifier-wrapper div ~ input").each(function(){ 717 if($(this).attr('name') == 'plu'){ 718 data['PLU'] = $(this).val(); 719 } 720 if($(this).attr('name') == 'price'){ 721 data['price'] = $(this).val(); 722 } 723 if($(this).attr('name') == 'promocode'){ 724 data['promocode'] = $(this).val(); 725 } 726 if($(this).attr('name') == 'single_promo_code'){ 727 data['single_promo_code'] = $(this).val(); 728 } 729 if($(this).attr('name') == 'min_order'){ 730 data['min_order'] = $(this).val(); 731 } 732 if($(this).attr('name') == 'promotional_id'){ 733 data['promotional_id'] = $(this).val(); 734 } 735 if($(this).attr('name') == 'promotional_link'){ 736 data['promotional_link'] = $(this).val(); 737 } 738 if($(this).attr('name') == 'promo_pickup_plu'){ 739 data['promo_pickup_plu'] = $(this).val(); 740 } 741 if($(this).attr('name') == 'promo_delivery_plu'){ 742 data['promo_delivery_plu'] = $(this).val(); 743 } 744 }); 745 746 //Convert the object to query string 747 var serialize = function(obj) { 748 var str = []; 749 for(var p in obj) 750 if (obj.hasOwnProperty(p)) { 751 str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 752 } 753 return str.join("&"); 754 } 755 756 var orderDate = ''; 757 $('#view-basket').load('core/mybasket.php?page=browse'+ ((orderDate) ? "&orderdate="+orderDate : "") + '&' + serialize(data), function(){ 758 $(this).prop("disabled", false); $("#promo-modifier-modal .modal-header .close").click(); }); 759 } else if($(this).hasClass('reload')){ 760 location.reload(); 761 } else{ 762 $(this).prop('disabled', false); 763 $('#promo-modifier-modal .modal-header .close').click(); 764 } 765 }); 766 }); 767</script>
767 768 769 770 771 772 773
773<script> 774 $j(document).ready(function() { 775 // Use sessionStorage to prevent the popup from showing on every page load 776 if(sessionStorage.getItem('modalShown') !== 'shown'){ 777 // Check if page is not order type selection screen - which mean param_page != null 778 const urlParams = new URLSearchParams(window.location.search); 779 const param_page = urlParams.get('page'); 780 781 if (param_page) { 782 const apple_itunes_app_id = "1555200437"; 783 const google_play_id = "store.dpos.com.doughboyz"; 784 const userAgent = navigator.userAgent || window.opera; 785 if(/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream && apple_itunes_app_id) 786 { 787 $j("#modal-app-download").modal("show"); 788 $j("#cont-popup-download-app .show-on-ios").show(); 789 } 790 else if(/android/i.test(userAgent) && google_play_id) 791 { 792 $j("#modal-app-download").modal("show"); 793 $j("#cont-popup-download-app .show-on-android").show(); 794 } 795 796 sessionStorage.setItem('modalShown','shown') 797 } 798 } 799 800 $j(".link-cancel").click(function(e){ 801 e.preventDefault(); 802 $j("#modal-app-download").modal("hide"); 803 }); 804 }); 805 </script>
805 806 807 <!-- intl-tel-input --> 808
808<script src="https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/intlTelInput.js"></script>
808 809 <!-- libphonenumber-js --> 810
810<script src="https://unpkg.com/libphonenumber-js/bundle/libphonenumber-max.js"></script>
810 811 812
812<script> 813 let phoneInt, 814 phoneLoginInt = null; 815 $(document).ready(function () { 816 const phoneInput = document.getElementById('mobilenumber'); 817 if (phoneInput) { 818 // Initialize intl-tel-input for UI & country dropdown 819 phoneInt = window.intlTelInput(phoneInput, { 820 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 821 onlyCountries: ['AU'], 822 initialCountry: 'AU', 823 allowDropdown: false, 824 autoPlaceholder: 'aggressive', 825 placeholderNumberType: 'MOBILE', 826 separateDialCode: true, 827 strictMode: true, 828 showFlags: true, 829 useFullscreenPopup: false, 830 }); 831 } 832 833 834 const loginPhoneInput = document.getElementById('login-mobile'); 835 if (loginPhoneInput) { 836 $j("#login-email").on("input", function () { 837 let val = $(this).val(); 838 if (/^\d/.test(val)) { // starts with number â switch to phone 839 $(this).hide(); 840 841 val = val.replace(/\D/g, ""); // remove everything that's not a digit 842 843 844 $("#login-mobile").show().val(val); 845 846 // Initialize intlTelInput only when phone field is first shown 847 if (!phoneLoginInt) { 848 phoneLoginInt = window.intlTelInput(loginPhoneInput, { 849 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 850 onlyCountries: ['AU'], 851 initialCountry: 'AU', 852 allowDropdown: false, 853 autoPlaceholder: "aggressive", 854 placeholderNumberType: "MOBILE", 855 separateDialCode: true, 856 strictMode: true, 857 showFlags: true, 858 formatAsYouType: false, 859 formatOnDisplay: false, 860 useFullscreenPopup: false, 861 }); 862 } 863 864 // Delay focus until phone is visible 865 setTimeout(() => { 866 $("#login-mobile").focus(); 867 }, 10); 868 } 869 }); 870 871 $j('#login-mobile').on("input", function () { 872 let val = $(this).val(); 873 val = val.replace(/\D/g, ""); // remove everything that's not a digit 874 875 876 $(this).val(val); 877 878 if (!val) { // if empty, switch back to email 879 $(this).val(""); // Clear phone input 880 881 // Destroy intlTelInput so flags disappear 882 if (phoneLoginInt) { 883 phoneLoginInt.destroy(); 884 phoneLoginInt = null; 885 } 886 887 // Switch back to email 888 $('#login-mobile').hide(); 889 $('#login-email').show().val("").focus(); 890 } 891 }); 892 } 893 894 const loginPhoneOtpInput = document.getElementById('login-phone'); 895 if (loginPhoneOtpInput) { 896 // Initialize intl-tel-input for UI & country dropdown 897 loginPhoneOtpInt = window.intlTelInput(loginPhoneOtpInput, { 898 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 899 onlyCountries: ['AU'], 900 initialCountry: 'AU', 901 allowDropdown: false, 902 autoPlaceholder: 'aggressive', 903 placeholderNumberType: 'MOBILE', 904 separateDialCode: true, 905 strictMode: true, 906 showFlags: true, 907 formatAsYouType: false, 908 formatOnDisplay: false, 909 useFullscreenPopup: false, 910 }); 911 } 912 913 const registerPhoneInput = document.getElementById('register-phone'); 914 if (registerPhoneInput) { 915 // Initialize intl-tel-input for UI & country dropdown 916 registerPhoneInt = window.intlTelInput(registerPhoneInput, { 917 loadUtils: () => import("https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/js/utils.js"), 918 onlyCountries: ['AU'], 919 initialCountry: 'AU', 920 allowDropdown: false, 921 autoPlaceholder: 'aggressive', 922 placeholderNumberType: 'MOBILE', 923 separateDialCode: true, 924 strictMode: true, 925 showFlags: true, 926 useFullscreenPopup: false, 927 }); 928 } 929 }); 930 </script>
930 931 932<!--WEB-1799 - Hide Menu Category When All Items Are Set to Specific Order Type--> 933
933<script> 934 //class="menu-item mi-223495" 935 function getIdFromClass(className) { 936 const match = className.match(/mi-(\d+)/); 937 return match ? match[1] : null; 938 } 939 940 function checkItemUl() { 941 $('#menu-items .menu-item').each(function() { 942 const menuItem = $(this); 943 const item_ul = menuItem.find('ul'); 944 if (item_ul.length && item_ul.children().length === 0) { 945 const className = menuItem.attr('class'); 946 const menuId = getIdFromClass(className); 947 if (menuId) { 948 $("#menu #menu-ul li.menu-" + menuId).hide(); 949 } 950 menuItem.hide(); 951 } 952 }); 953 } 954 955 $(document).ready(checkItemUl); 956 $(document).ajaxSuccess(checkItemUl); 957 </script>
957 958
958<script> 959 $(document).ready(function() { 960 // Search suburb/postcode option position bottom 961 (function($) { 962 var Defaults = $.fn.select2.amd.require('select2/defaults'); 963 $.extend(Defaults.defaults, { 964 dropdownPosition: 'auto' 965 }); 966 var AttachBody = $.fn.select2.amd.require('select2/dropdown/attachBody'); 967 var _positionDropdown = AttachBody.prototype._positionDropdown; 968 AttachBody.prototype._positionDropdown = function() { 969 var $window = $(window); 970 var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); 971 var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); 972 var newDirection = null; 973 var offset = this.$container.offset(); 974 offset.bottom = offset.top + this.$container.outerHeight(false); 975 var container = { 976 height: this.$container.outerHeight(false) 977 }; 978 container.top = offset.top; 979 container.bottom = offset.top + container.height; 980 var dropdown = { 981 height: this.$dropdown.outerHeight(false) 982 }; 983 var viewport = { 984 top: $window.scrollTop(), 985 bottom: $window.scrollTop() + $window.height() 986 }; 987 var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); 988 var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); 989 var css = { 990 left: offset.left, 991 top: container.bottom 992 }; 993 var $offsetParent = this.$dropdownParent; 994 if ($offsetParent.css('position') === 'static') { 995 $offsetParent = $offsetParent.offsetParent(); 996 } 997 var parentOffset = $offsetParent.offset(); 998 css.top -= parentOffset.top 999 css.left -= parentOffset.left; 1000 var dropdownPositionOption = this.options.get('dropdownPosition'); 1001 if (dropdownPositionOption === 'above' || dropdownPositionOption === 'below') { 1002 newDirection = dropdownPositionOption; 1003 } else { 1004 if (!isCurrentlyAbove && !isCurrentlyBelow) { 1005 newDirection = 'below'; 1006 } 1007 if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { 1008 newDirection = 'above'; 1009 } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { 1010 newDirection = 'below'; 1011 } 1012 } 1013 if (newDirection == 'above' || (isCurrentlyAbove && newDirection !== 'below')) { 1014 css.top = container.top - parentOffset.top - dropdown.height; 1015 } 1016 if (newDirection != null) { 1017 this.$dropdown 1018 .removeClass('select2-dropdown--below select2-dropdown--above') 1019 .addClass('select2-dropdown--' + newDirection); 1020 this.$container 1021 .removeClass('select2-container--below select2-container--above') 1022 .addClass('select2-container--' + newDirection); 1023 } 1024 this.$dropdownContainer.css(css); 1025 }; 1026 })($j); 1027 1028 // Search Store by Suburb or Postcode 1029 var chainStoresOptions = { 1030 placeholder: "Suburb Search", 1031 theme: "platina", 1032 dropdownPosition: 'below', 1033 minimumInputLength: 2, 1034 minimumResultsForSearch: 5, 1035 templateResult: formatRepo, 1036 language: { 1037 noResults: function () { 1038 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."; 1039 } 1040 }, 1041 escapeMarkup: function (markup) { 1042 return markup; 1043 }, 1044 ajax: { 1045 url: "core/ajax/find_chain_streets.php", 1046 dataType: 'json', 1047 delay: 250, 1048 data: function (params) { 1049 return { 1050 q: params.term, page: params.page 1051 }; 1052 }, 1053 processResults: function (data) { 1054 1055 $j("#getLocation").prop("disabled", false); 1056 1057 if (data) { 1058 return { 1059 results: $.map(data.streets, function (item) { 1060 return { 1061 text: item.store_suburb, 1062 id: item.client_code, 1063 item: item 1064 } 1065 }) 1066 }; 1067 } 1068 } 1069 } 1070 }; 1071 1072 $j("#chainStores").select2(chainStoresOptions); 1073 // OOA-40 Select Suburb - Use My Location 1074 function showLocation(position) { 1075 var lat = position.coords.latitude; 1076 var lng = position.coords.longitude; 1077 var position = "location:"+lat+","+lng; 1078 $j("#chainStores").prop("disabled", false); 1079 $j("#chainStores").select2("open"); 1080 $j("#chainStores").data("select2").dropdown.$search.val([position]).trigger("input"); 1081 $j("#chainStores").data("select2").dropdown.$search.val(null).trigger("change"); 1082 } 1083 1084 var showOptions = { 1085 enableHighAccuracy: true, 1086 timeout: 10000, 1087 maximumAge: 0 1088 }; 1089 1090 function showError(error) { 1091 switch(error.code) { 1092 case error.PERMISSION_DENIED: 1093 showModalAlert('warning', '', 'User denied the request for Geolocation.', 'OK'); 1094 $j("#chainStores").prop("disabled", false); 1095 break; 1096 case error.POSITION_UNAVAILABLE: 1097 showModalAlert('warning', '', 'Location information is unavailable.', 'OK'); 1098 $j("#chainStores").prop("disabled", false); 1099 break; 1100 case error.TIMEOUT: 1101 showModalAlert('warning', '', 'The request to get user location timed out.', 'OK'); 1102 $j("#chainStores").prop("disabled", false); 1103 break; 1104 case error.UNKNOWN_ERROR: 1105 showModalAlert('error', '', 'An unknown error occurred.', 'OK'); 1106 $j("#chainStores").prop("disabled", false); 1107 break; 1108 } 1109 } 1110 1111 $j("#getLocation").on('click', function() { 1112 if (typeof navigator !== "undefined" && navigator && navigator.geolocation) { 1113 navigator.geolocation.getCurrentPosition(showLocation, showError, showOptions); 1114 $j("#chainStores").select2("close"); 1115 1116 $j("#getLocation").prop("disabled", true); 1117 1118 $j("#chainStores").prop("disabled", true); 1119 } else { 1120 $j("#chainStores").prop("disabled", false); 1121 showModalAlert('warning', '', 'Geolocation is not supported by this browser.', 'OK'); 1122 } 1123 }); 1124 1125 // Update Selected Store Details 1126 // trigger switchStore function for suburb search 1127 $j("#chainStores").on("change", function () { 1128 var search_client_code = this.value; 1129 if(search_client_code !== '') { 1130 //check is store is in progress 1131 var search_client_status = $j("#chainStores").select2('data')[0].item.client_status; 1132 if(search_client_status != 'in progress'){ 1133 $j("#chainStores").prop("disabled", true); 1134 $j.ajax({ 1135 method: 'GET', 1136 data: {'item_count': 1}, 1137 url: 'core/ajax/checkorder.php', 1138 }).done(function (e) { 1139 1140 var search_client_id = $j("#chainStores").select2('data')[0].item.client_id; 1141 var search_client_url = $j("#chainStores").select2('data')[0].item.client_url; 1142 if (e === '0') { 1143 switchStore(search_client_id, search_client_code,search_client_url); 1144 } else { 1145 if (search_client_code === $j('#client_code').val()) { 1146 switchStore(search_client_id, search_client_code,search_client_url); 1147 return; 1148 } 1149 var switchStoreHeading = 'Switch to ' + $j("#chainStores option:selected").text() + '?';
1150 $j('#storeSwitchPopup h4.modal-title').text(switchStoreHeading); 1151 $j('#storeSwitchPopupStoreName').text($j("#chainStores option:selected").text()); 1152 $j('#storeSwitchPopup').modal('show'); 1153 } 1154 }); 1155 }else{ 1156 var comingSoonStoreSwitchPopup = $j("#chainStores option:selected").text() + ' store is coming soon!'; 1157 $j('#comingSoonStoreSwitchPopup h4.modal-title').text(comingSoonStoreSwitchPopup); 1158 $j('#comingSoonStoreSwitchPopup').modal('show'); 1159 } 1160 1161 1162 } 1163 }); 1164 1165 // New Delivery Address Search 1166 var searchFormOptions = { 1167 placeholder: "Enter your delivery location", 1168 theme: "platina delivery-address-search", 1169 dropdownPosition: 'below', 1170 minimumInputLength: 1, 1171 minimumResultsForSearch: 5, 1172 templateResult: formatRepoDelivery, 1173 language: { 1174 noResults: function () { 1175 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."; 1176 } 1177 }, 1178 escapeMarkup: function (markup) { 1179 return markup; 1180 }, 1181 ajax: { 1182 url: "core/ajax/find_nearest_stores.php", 1183 dataType: 'json', 1184 delay: 250, 1185 data: function (params) { 1186 return { 1187 q: params.term, page: params.page 1188 }; 1189 }, 1190 processResults: function (data) { 1191 1192 $j("#searchNearest").prop("disabled", false); 1193 1194 if (data) { 1195 return { 1196 results: $.map(data.streets, function (item) { 1197 return { 1198 text: item.store_suburb, 1199 id: item.client_code, 1200 item: item 1201 } 1202 }) 1203 }; 1204 } 1205 } 1206 } 1207 }; 1208 1209 $j("#searchForm").select2(searchFormOptions); 1210 // OOA-40 Select Suburb - Use My Location 1211 function showLocationDelivery(position) { 1212 var lat = position.coords.latitude; 1213 var lng = position.coords.longitude; 1214 var position = "location:"+lat+","+lng; 1215 $j("#searchForm").prop("disabled", false); 1216 $j("#searchForm").select2("open"); 1217 $j("#searchForm").data("select2").dropdown.$search.val([position]).trigger("input"); 1218 $j("#searchForm").data("select2").dropdown.$search.val(null).trigger("change"); 1219 } 1220 1221 function showErrorDelivery(error) { 1222 switch(error.code) { 1223 case error.PERMISSION_DENIED: 1224 showModalAlert('warning', '', 'User denied the request for Geolocation.', 'OK'); 1225 $j("#searchForm").prop("disabled", false); 1226 break; 1227 case error.POSITION_UNAVAILABLE: 1228 showModalAlert('warning', '', 'Location information is unavailable.', 'OK'); 1229 $j("#searchForm").prop("disabled", false); 1230 break; 1231 case error.TIMEOUT: 1232 showModalAlert('warning', '', 'The request to get user location timed out.', 'OK'); 1233 $j("#searchForm").prop("disabled", false); 1234 break; 1235 case error.UNKNOWN_ERROR: 1236 showModalAlert('error', '', 'An unknown error occurred.', 'OK'); 1237 $j("#searchForm").prop("disabled", false); 1238 break; 1239 } 1240 } 1241 1242 $j("#searchNearest").on('click', function() { 1243 if (typeof navigator !== "undefined" && navigator && navigator.geolocation) { 1244 navigator.geolocation.getCurrentPosition(showLocationDelivery, showErrorDelivery, showOptions); 1245 $j("#searchForm").select2("close"); 1246 1247 $j("#searchNearest").prop("disabled", true); 1248 1249 $j("#searchForm").prop("disabled", true); 1250 } else { 1251 $j("#searchForm").prop("disabled", false); 1252 showModalAlert('warning', '', 'Geolocation is not supported by this browser.', 'OK'); 1253 } 1254 }); 1255 1256 // Update Selected Store Details 1257 // trigger switchStore function for suburb search 1258 $j("#searchForm").on("change", function () { 1259 var search_client_code = this.value; 1260 if(search_client_code !== '') { 1261 //check is store is in progress 1262 var search_client_status = $j("#searchForm").select2('data')[0].item.client_status; 1263 if(search_client_status != 'in progress'){ 1264 $j("#searchForm").prop("disabled", true); 1265 $j.ajax({ 1266 method: 'GET', 1267 data: {'item_count': 1}, 1268 url: 'core/ajax/checkorder.php', 1269 }).done(function (e) { 1270 1271 var search_client_id = $j("#searchForm").select2('data')[0].item.client_id; 1272 var search_client_url = $j("#searchForm").select2('data')[0].item.client_url; 1273 if (e === '0') { 1274 switchStore(search_client_id, search_client_code,search_client_url); 1275 } else { 1276 if (search_client_code === $j('#client_code').val()) { 1277 switchStore(search_client_id, search_client_code,search_client_url); 1278 return; 1279 } 1280 var switchStoreHeading = 'Switch to ' + $j("#searchForm option:selected").text() + '?';
1281 $j('#storeSwitchPopup h4.modal-title').text(switchStoreHeading); 1282 $j('#storeSwitchPopupStoreName').text($j("#searchForm option:selected").text()); 1283 $j('#storeSwitchPopup').modal('show'); 1284 } 1285 }); 1286 }else{ 1287 var comingSoonStoreSwitchPopup = $j("#searchForm option:selected").text() + ' store is coming soon!'; 1288 $j('#comingSoonStoreSwitchPopup h4.modal-title').text(comingSoonStoreSwitchPopup); 1289 $j('#comingSoonStoreSwitchPopup').modal('show'); 1290 } 1291 } 1292 }); 1293 1294 // OOA-1394: trigger switchStore function for store list 1295 $j("#storeListsModal").on( "click", ".storeLists-orderonline-btn", function() { 1296 1297 // Get store data 1298 var storeList_clientID = $(this).attr( "client_id"); 1299 var storeList_clientCode = $(this).attr( "client_code"); 1300 var storeList_clientURL = $(this).attr( "client_url"); 1301 var storeList_clientSuburb = $(this).attr( "client_suburb"); 1302 var storeList_storeName = $(this).attr( "store_Name"); 1303 1304 $j.ajax({ 1305 method: 'GET', 1306 data: {'item_count': 1}, 1307 url: 'core/ajax/checkorder.php', 1308 }).done(function (e) { 1309 if (e === '0') { 1310 switchStore(storeList_clientID, storeList_clientCode, storeList_clientURL); 1311 } else { 1312 1313 if (storeList_clientCode === $j('#client_code').val()) { 1314 // DO not show switch option popup if client code are the same 1315 switchStore(storeList_clientID, storeList_clientCode, storeList_clientURL); 1316 return; 1317 } 1318 1319 var switchStoreHeading = 'Switch to ' + storeList_clientSuburb + '?'; 1320 $j('#storeSwitchPopup_2 h4.modal-title').text(switchStoreHeading); 1321 $j('#storeSwitchPopup_2 #storeSwitchPopupStoreName').text(storeList_storeName); 1322 1323 // Add store details needed for switching store 1324 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_id", storeList_clientID); 1325 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_code", storeList_clientCode); 1326 $("#storeSwitchPopup_2 #storelist-switch-option-ok").attr( "client_url", storeList_clientURL); 1327 1328 $j('#storeSwitchPopup_2').modal('show'); 1329 } 1330 }); 1331 }); 1332 1333 // Switch Prompt for Suburb Search 1334 $j(".switch-option").on('click', function() { 1335 var switchValue = this.value; 1336 1337 if (switchValue === 'ok') { 1338 var search_client_code = $j("#chainStores").val(); 1339 var search_client_id = $j("#chainStores").select2('data')[0].item.client_id; 1340 var search_client_url = $j("#chainStores").select2('data')[0].item.client_url; 1341 switchStore(search_client_id, search_client_code,search_client_url); 1342 } 1343 1344 if (switchValue === 'cancel') { 1345 $j("#chainStores").prop("disabled", false); 1346 $j("#chainStores").val('').trigger("change"); 1347 } 1348 1349 }); 1350 1351 // Switch Prompt for Store Lists 1352 $j(".storelist-switch-option").on('click', function() { 1353 var switchValue = this.value; 1354 // Okay button for suburb search feature 1355 if (switchValue === 'ok') { 1356 var search_client_code = $(this).attr( "client_code"); 1357 var search_client_id = $(this).attr( "client_id"); 1358 var search_client_url = $(this).attr( "client_url"); 1359 switchStore(search_client_id, search_client_code,search_client_url); 1360 } 1361 }); 1362 1363 function switchStore(search_client_id, search_client_code,search_client_url) { 1364 $j.ajax({ 1365 method: 'GET', 1366 data: { 1367 'client_id': search_client_id, 1368 'client_code': search_client_code 1369 }, 1370 dataType: 'json', 1371 url: 'core/ajax/change_store_session.php', 1372 }).done(function (e) { 1373 if (e.response_code == '02') { 1374 showModalAlert('error', '', 'Something went wrong. Please try again later.', 'OK'); 1375 } else { 1376 /*$j('html, body').animate({ 1377 scrollTop: $('#store-data').offset().top 1378 }, 'slow', function() { 1379 $("#loader-platina").fadeIn(); 1380 $("body").css("overflow", "hidden"); 1381 } 1382 var uri = window.location.toString(); 1383 if (uri.indexOf("#") > 0) { 1384 var clean_uri = uri.substring(0, uri.indexOf("#")); 1385 window.history.replaceState({}, document.title, clean_uri); 1386 } 1387 // window.location.href = search_client_url+"#store-data"; 1388 // window.location.href = search_client_url; 1389 });*/ 1390 window.location.href = search_client_url; 1391 } 1392 }); 1393 } 1394 1395 function formatRepo (data, e) { 1396 if (data.loading) { 1397 return data.text; 1398 } 1399 function camelCase(str) { 1400 str = str.toLowerCase() 1401 return str.replace(/(?:^|\s)\w/g, function(match) { 1402 return match.toUpperCase(); 1403 }); 1404 } 1405 var searchValue = $j("#chainStores").data("select2").dropdown.$search.val(); 1406 var src_str = camelCase(data.item.store_suburb_postcode); 1407 var term = searchValue; 1408 term = term.replace(/(\s+)/,"(<[^>]+>)*$1(<[^>
1408]+>)*"); 1409 var pattern = new RegExp("("+term+")", "gi"); 1410 // src_str = src_str.replace(pattern, "<span style='background: yellow;'>$1</span>"); //WD-520 : removed search word highlight 1411 src_str = src_str.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1</mark>$2<mark>$4"); 1412 var suburb_postcode = (data.item.distance_in_km ? "approximately "+data.item.distance_in_km+"km away" : src_str); 1413 var state = (data.item.client_state != undefined) ? ' ('+data.item.client_state+')' : ''; 1414 var client_status = (data.item.client_status === 'in progress') ? '<br/><span style="color: #c42328; font-sie: 14px; vertical-align: middle;">Coming Soon</span>' : ''; 1415 var classStatus = (data.item.client_status === 'in progress') ? 'select2-result-store-inprogress' : ''; 1416 1417 var storeAddressHtml = ''; 1418 if (data.item.store_address) { 1419 var encodedStoreAddress = encodeURIComponent(data.item.store_address); 1420 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>"; 1421 } 1422 1423 var $container = $j( 1424 "<div class='select2-result-store "+classStatus+"'>" + 1425 "<div class='select2-result-store__meta'>
1425" + 1426 "<div class='select2-result-store__title'>"+data.item.store_suburb+state+client_status+"</div>" + 1427 storeAddressHtml + 1428 "<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>" + 1429 "</div>" + 1430 "</div>" 1431 ); 1432 return $container; 1433 } 1434 1435 function formatRepoDelivery (data, e) { 1436 if (data.loading) { 1437 return data.text; 1438 } 1439 function camelCase(str) { 1440 str = str.toLowerCase() 1441 return str.replace(/(?:^|\s)\w/g, function(match) { 1442 return match.toUpperCase(); 1443 }); 1444 } 1445 var searchValue = $j("#searchForm").data("select2").dropdown.$search.val(); 1446 var src_str = camelCase(data.item.store_suburb_postcode); 1447 var term = searchValue; 1448 term = term.replace(/(\s+)/,"(<[^>]+>)*$1(<[^>]+>)*"); 1449 var pattern = new RegExp("("+term+")", "gi"); 1450 // src_str = src_str.replace(pattern, "<span style='background: yellow;'>$1</span>"); //WD-520 : removed search word highlight 1451 src_str = src_str.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1</mark>$2<mark>$4"); 1452 var suburb_postcode = (data.item.distance_in_km ? "approximately "+data.item.distance_in_km+"km away" : src_str); 1453 var state = (data.item.client_state != undefined) ? ' ('+data.item.client_state+')' : ''; 1454 var client_status = (data.item.client_status === 'in progress') ? '<br/><span style="color: #c42328; font-sie: 14px; vertical-align: middle;">Coming Soon</span>' : ''; 1455 var classStatus = (data.item.client_status === 'in progress') ? 'select2-result-store-inprogress' : ''; 1456 1457 var full_address = data.item.original_street_number+' '+data.item.street+', '+suburb_postcode; 1458 // Lowercase then capitalize first letter of each word 1459 full_address = full_address.toLowerCase().replace(/\b[a-z]/g, function(letter) { 1460 return letter.toUpperCase(); 1461 }); 1462 1463 var store_suburb = data.item.store_suburb; 1464 // Lowercase then capitalize first letter of each word 1465 store_suburb = store_suburb.toLowerCase().replace(/\b[a-z]/g, function(letter) { 1466 return letter.toUpperCase(); 1467 }); 1468 1469 var suburbPostcodePlain = suburb_postcode.replace(/<[^>]*>/g, ''); 1470 var deliveryMapQuery = data.item.store_address ? data.item.store_address : (data.item.original_street_number + ' ' + data.item.street + ', ' + suburbPostcodePlain); 1471 var encodedDeliveryAddress = encodeURIComponent(deliveryMapQuery); 1472 var fullAddressHtml = "<a href='https://www.google.com/maps/search/?api=1&query=" + encodedDeliveryAddress + "' class='address-link' target='_blank' rel='noopener'>" + full_address + "</a>"; 1473 1474 var $container = $j( 1475 "<div class='select2-result-store "+classStatus+"'>" + 1476 "<div class='select2-result-store__meta'>
1476" + 1477 "<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>" + 1478 "</div>" + 1479 "</div>" 1480 ); 1481 return $container; 1482 } 1483 1484 1485 var hash = window.location.hash.substr(1); 1486 if(hash && !hash.includes('=')){ 1487 $j('html, body').animate({ 1488 scrollTop: $('#'+hash).offset().top 1489 }, 'slow'); 1490 } 1491 1492 if($("#desktopSplide .splide__pagination").length){ 1493 if ($(window).width() >= 1024){ 1494 $("#desktopSplide .splide__pagination").css("top", $(window).height() - 80); 1495 } else{ 1496 $("#desktopSplide .splide__pagination").css("top", $(window).height() - 40); 1497 } 1498 } 1499 1500 var current_width = $(window).width(); 1501 //THIS FIX IS FOR THE ANDROID VIEW KEYBOARD ISSUE 1502 if(current_width < 480){ 1503 setTimeout(function () { 1504 let viewheight = $(window).height(); 1505 let viewwidth = $(window).width(); 1506 let viewport = document.querySelector("meta[name=viewport]"); 1507 viewport.setAttribute("content", "height=" + viewheight + "px, width=" + viewwidth + "px, initial-scale=1.0"); 1508 }, 300); 1509 } 1510 1511 var thTooltipTrigger = ($(window).width() <= 1024) ? 'click' : 'hover'; 1512 $j('.trading-hours-tooltip').tooltip({ trigger: thTooltipTrigger }); 1513 if (thTooltipTrigger === 'click') { 1514 var hideThTooltip = function(){ 1515 var $sf = $j('.trading-hours-tooltip'); 1516 $sf.tooltip('hide'); 1517 var data = $sf.data('bs.tooltip'); 1518 if (data) { 1519 if (data.inState) { 1520 data.inState.click = false; 1521 } 1522 if (data._activeTrigger) { 1523 data._activeTrigger.click = false; 1524 } 1525 } 1526 }; 1527 1528 $j(document).on('click', function(e){ 1529 if (!$(e.target).closest('.trading-hours-tooltip').length) { 1530 hideThTooltip(); 1531 } 1532 }); 1533 1534 $j(window).on('scroll', function(){ 1535 hideThTooltip(); 1536 }); 1537 1538 $j('#storeListsModal .modal-body').on('scroll touchmove', function () { 1539 $j(this).find('.trading-hours-tooltip').tooltip('hide'); 1540 }); 1541 1542 $j(document).on('click', '.trading-hours-tooltip', function (e) { 1543 e.preventDefault(); 1544 $j('.trading-hours-tooltip').not(this).tooltip('hide'); // Hide all other tooltips 1545 $j(this).tooltip('toggle'); // Toggle the current one 1546 }); 1547 } 1548 }); 1549 </script>
1549 1550
1550<script> 1551 // OOA-167 Platina - Franchise Option Contact Us 1552 $(document).ready(function(){ 1553 (function($){ 1554 $('[data-target="#storeListsModal"]').prop('disabled', false); 1555 1556 1557 1558 const buildToolTip = (tradingHours, tooltipTitle) => { 1559 let opening_hours_tooltip = ""; 1560 1561 for(var day in tradingHours) { 1562 var $day = day.charAt(0).toUpperCase() + day.slice(1); 1563 var perDayTime = timeClass = ""; 1564 if(tradingHours[day].open == 'Closed' || tradingHours[day].close == 'Closed'){ 1565 perDayTime = "Closed"; 1566 timeClass = ' hours-closed'; 1567 }else{ 1568 perDayTime = tradingHours[day].open + " - " + tradingHours[day].close; 1569 } 1570 1571 opening_hours_tooltip += `<div class='hours-day'>${$day}</div><div class='hours-time${timeClass}'>${perDayTime}</div>`; 1572 } 1573 1574 tooltipTitle = tooltipTitle || 'Store Hours'; 1575 return `<div class='hours-title'>${tooltipTitle}</div> 1576 <div class='hours-list'> 1577 ${opening_hours_tooltip} 1578 </div>`; 1579 }; 1580 1581 //google map 1582 var map = null; 1583 var marker = null; 1584 function initializeGMap(locations) { 1585 1586 markers = []; 1587 1588 var centerLat = locations[0].lat; 1589 var centerLng = locations[0].lng; 1590 1591 map = new google.maps.Map(document.getElementById('map_canvas'), { 1592 zoom: 12, 1593 center: new google.maps.LatLng(centerLat, centerLng), 1594 mapTypeId: google.maps.MapTypeId.ROADMAP 1595 }); 1596 1597 var i; 1598 for (i = 0; i < locations.length; i++) { 1599 1600 var client_status = locations[i].client_status; 1601 var coming_soon = (client_status === 'in progress') ? "<span class='locationsInfo-comingSoon'>Coming Soon</span>" : ""; 1602 var client_state = (locations[i].client_state != undefined) ? ' <span class="storeState">('+locations[i].client_state+')</span> ' : ' '; 1603 1604 var suburb = "<h3 class='locationsInfo-header'>" + locations[i].store_suburb + client_state + coming_soon + "</h3>"; 1605 1606 var url = ""; 1607 if(client_status != "in progress"){ 1608 url = "<div class='locationsInfo-btn-cont'><a href='" + locations[i].client_url + "' class='locationsInfo-btn'>Order Online</a></div>"; 1609 } 1610 1611 1612 var address = ""; 1613 if(locations[i].store_address != null){ 1614 var encodedAddress = encodeURIComponent(locations[i].store_address); 1615 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>"; 1616 } 1617 1618 var phone = ""; 1619 if(client_status != 'in progress' && locations[i].store_phone != null){ 1620 var sanitizedPhone = locations[i].store_phone.replace(/[^0-9+]/g, ''); 1621 if (sanitizedPhone) { 1622 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>"; 1623 } else { 1624 phone = "<p class='locationsInfo-phone'><i class='fa-solid fa-phone'></i> " + locations[i].store_phone + "</p>"; 1625 } 1626 } 1627 1628 var serves_cuisine = ""; 1629 if(client_status != 'in progress' && locations[i].serves_cuisine != null){ 1630 serves_cuisine = "<p class='locationsInfo-address'><span class='glyphicon glyphicon-glass'></span> " + locations[i].serves_cuisine + "</p>"; 1631 } 1632 1633 var opening_hours = ""; 1634 if(client_status != 'in progress'){ 1635 opening_hours = (locations[i].open_time == 0 || locations[i].close_time == 0) ? "Closed" : locations[i].open_time + " - " + locations[i].close_time; 1636 opening_hours = `<h4 style="margin-top:20px;font-size:14px;font-weight:600;">Opening Hours: </h4> 1637 <div> 1638 <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> 1639 </div>`; 1640 } 1641 1642 var lunch_hours = ""; 1643 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'){ 1644 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; 1645 lunch_hours = `<div> 1646 <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> 1647 </div>`; 1648 } 1649 1650 var delivery_hours = ""; 1651 if(client_status != 'in progress'){ 1652 if(locations[i].pickup_only!='1'){ 1653 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; 1654 delivery_hours = `<div> 1655 <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> 1656 </div>`; 1657 }else{ 1658 delivery_hours = "<p style='font-weight: bold; margin-top: 20px; margin-bottom: 30px;'>Pickup Only</p>"; 1659 } 1660 } 1661 1662 var delivery_suburbs = ""; 1663 if(locations[i].pickup_only!='1' && locations[i].delivery_suburbs != null){ 1664 // Clean List of Suburb 1665 var listOfSuburbs= locations[i].delivery_suburbs; 1666 var suburbsArr = listOfSuburbs.split(','); 1667 suburbHTML = ''; 1668 $.each(suburbsArr, function(key, value) { 1669 if(key!=0) { 1670 suburbHTML += ", <span class='listOfSuburb'> " + value.toLowerCase() + "</span>"; 1671 }else{ 1672 suburbHTML += "<span class='listOfSuburb'>" + value.toLowerCase() + "</span>"; 1673 } 1674 1675 }); 1676 delivery_suburbs = "<h4 style='margin-top:20px;font-size:14px;font-weight:600;'>Delivery Areas: </h4><p class='locationsInfo-delivery'>" + suburbHTML + " </p> "; 1677 } 1678 1679 marker = new google.maps.Marker({ 1680 position: new google.maps.LatLng(locations[i].lat, locations[i].lng), 1681 map: map, 1682 icon: 'https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/map-marker.png', 1683 animation : google.maps.Animation.DROP 1684 }); 1685 1686 var contentString = "<div class='locationsInfo'>" + suburb + address + phone + serves_cuisine + opening_hours + lunch_hours + delivery_hours + delivery_suburbs + url + "</div>"; 1687 var infowindow = new google.maps.InfoWindow(); 1688 google.maps.event.addListener(marker, 'click', (function(marker, contentString, i) { 1689 return function() { 1690 infowindow.setContent(contentString); 1691 infowindow.open(map, marker); 1692 } 1693 })(marker, contentString, i)); 1694 1695 // add custom class to google map infowindow 1696 google.maps.event.addListener(infowindow,'domready',function(){ 1697 $('.locationsInfo').closest('.gm-style-iw').parent().addClass('custom-iw'); 1698 1699 if ($(window).width() < 1024) { 1700 $('.store-hours.trading-hours-tooltip').tooltip({ placement: 'top' }); 1701 1702 $('.gm-style-iw .gm-style-iw-d').on('scroll touchmove', function () { 1703 $(this).find('.store-hours.trading-hours-tooltip').tooltip('hide'); 1704 }); 1705 } else { 1706 $('.store-hours.trading-hours-tooltip').tooltip(); 1707 } 1708 }); 1709 1710 markers.push(marker); 1711 } 1712 } 1713 1714 const state_name = { 1715 'NSW': 'New South Wales', 1716 'VIC': 'Victoria', 1717 'QLD': 'Queensland', 1718 'SA': 'South Australia', 1719 'WA': 'Western Austalia', 1720 'TAS': 'Tasmania', 1721 'ACT': 'Australian Capital Territory', 1722 'NT': 'Northern Territory' 1723 }; 1724 1725 // trigger to open locations modal when linked is clicked 1726 $('#locationsModal').on('show.bs.modal', function(event) { 1727 $('#locationsModal .franchise-locations').hide(); 1728 $('#locationsModal #map_canvas').hide(); 1729 $('#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>"); 1730 //Display Locations 1731 $.ajax({ 1732 method: 'POST', 1733 data: { 1734 'account_id': '', 1735 'sort_state': 0 }, 1736 dataType: 'json', 1737 url: 'core/ajax/get_multi_store.php', 1738 }).done(function (data) { 1739 1740 $('#locationsModal .franchise-locations').show(); 1741 $('#locationsModal #map_canvas').show(); 1742 $('#locationsModal #loadin_bar').hide(); 1743 1744 var storeList_html = ""; 1745 var storeList_html2 = ""; 1746 var i = 0; 1747 let states = []; 1748 let tmp_state = ""; 1749 $.each(data, function(k, v) { 1750 var store_suburb = (v.store_suburb || 'Not Set'); 1751 var client_status = (v.client_status === 'in progress') ? '- <span class="sub-list-comingSoon" style="color: #a51419">Coming Soon</span>' : ''; 1752 var client_state = v.client_state; 1753 states.push(client_state); 1754 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 + '">' + 1755 store_suburb + 1756 ' '+ '<span class="storeState"> ('+ client_state +') </span>' + client_status + 1757 '</span>'; 1758 storeList_html2 += '<option class="option-list" value="'+i+'">' + store_suburb + ' ('+ client_state +') ' + client_status + '</option>'; 1759 i++; 1760 tmp_state = client_state; 1761 }); 1762 1763 $('#locationsModal .modal-body .store-details-container .list-group').append(storeList_html); 1764 1765 if(new Set(states).size === 1){ // Check if every client states are the same 1766 storeList_html2=""; 1767 for(i = 0; i < data.length; i++){ 1768 delete data[i]['client_state']; 1769 var store_suburb = (data[i]['store_suburb'] || 'Not Set'); 1770 var client_status = (data[i]['client_status'] === 'in progress') ? ' - Coming Soon' : ''; 1771 storeList_html2 += '<option class="option-list" value="'+i+'">'+store_suburb+client_status+'</option>'; 1772 } 1773 $(".storeState").hide(); 1774 } 1775 $('#locationsModal .modal-body .store-details-container #locationsSuburbList2').append("<option disabled selected>Select a Suburb</option>" + storeList_html2); 1776 initializeGMap(data); 1777 $("#location-map").css("width", "100%"); 1778 $("#map_canvas").css("width", "100%"); 1779 }); 1780 }); 1781 1782 // open info box when li is clicked 1783 $("#locationsModal").on( "click", ".sub-list-group-item.list-group-item-active", function() { 1784 if($(window).width() <= 768){ 1785 let location_container = $('#locationsModal .franchise-locations:has(> .store-details-container.group)'); 1786 if(location_container.length){ 1787 location_container.animate({ 1788 scrollTop: location_container[0].scrollHeight 1789 }, 800); 1790 } 1791 } 1792 1793 var locId = $(this).attr('menu-id'); 1794 var clickedMarker = markers[locId]; 1795 1796 google.maps.event.trigger(clickedMarker, 'click'); 1797 map.setZoom(15); 1798 map.setCenter(clickedMarker.getPosition()); 1799 }); 1800 1801 // open info box when options is clicked 1802 $("#locationsModal").on( "change", "#locationsSuburbList2", function() { 1803 var locId= $("#locationsSuburbList2 option:selected").val(); 1804 google.maps.event.trigger(markers[locId], 'click'); 1805 map.setZoom(15); 1806 }); 1807 1808 // clear ul when modal is clicked 1809 $('#locationsModal').on('hidden.bs.modal', function(event) { 1810 $('#locationsModal .modal-body .store-details-container .list-group').empty(); 1811 $('#locationsModal .modal-body .store-details-container #locationsSuburbList2').empty(); 1812 }); 1813 1814 1815 // OOA-1394 Order Now Store list Platina Feature 1816 $('#storeListsModal').on('show.bs.modal', function(event) { 1817 1818 $('#storeListsModal #accordion').empty(); 1819 $('#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>"); 1820 1821 // Get Store Data 1822 $.ajax({ 1823 method: 'POST', 1824 data: { 1825 'account_id': '', 1826 'sort_state': 0 }, 1827 dataType: 'json', 1828 url: 'core/ajax/get_multi_store.php', 1829 }).done(function (data) { 1830 1831 $('#storeListsModal #loadin_bar').hide(); 1832 1833 var storeListModalHTML = ""; 1834 var accordionHeaderHTML = ""; 1835 var accordionBodyHTML = ""; 1836 let states = []; 1837 let tmp_state = ""; 1838 1839 $.each(data, function(k, v) { 1840 var store_suburb = (v.store_suburb || 'Not Set'); 1841 var client_status = (v.client_status || 'Not Set'); 1842 var client_state = v.client_state; 1843 states.push(client_state); 1844 1845 var acc_id = "storeListModal_"+v.client_id; 1846 1847 //Accordion Header - Store Suburb Suburb 1848 if(client_status != 'in progress'){ 1849 accordionHeaderHTML = '<div class="panel-heading panel-heading-active"><h4 class="panel-title">' + 1850 '<a class="panel-name" href="#'+acc_id+'"> ' + 1851 store_suburb + ' <span class="storeState"> ('+ client_state +') </span>' + 1852 '</a>' + 1853 '</h4></div>'; 1854 }else{ 1855 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>'; 1856 } 1857 1858 //Accordion Body - Store Detail 1859 accordionBodyHTML=""; 1860 if(client_status != 'in progress'){ 1861 1862 var clientAddress = ""; 1863 if(v.store_address != null){ 1864 var encodedClientAddress = encodeURIComponent(v.store_address); 1865 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>"; 1866 } 1867 1868 var clientPhone = "";
1869 if(v.store_phone != null){ 1870 var encodedClientPhone = v.store_phone.replace(/[^0-9+]/g, ''); 1871 if (encodedClientPhone) { 1872 clientPhone = "<p class='storeListModal-phone'><i class='fa-solid fa-phone'></i> <a href='tel:" + encodedClientPhone + "' class='phone-link'>" + v.store_phone + "</a></p>"; 1873 } else { 1874 clientPhone = "<p class='storeListModal-phone'><i class='fa-solid fa-phone'></i> " + v.store_phone + "</p>"; 1875 } 1876 } 1877 1878 var clientOpeningHours = ""; 1879 clientOpeningHours = (v.open_time == 0 || v.close_time == 0) ? "Closed" : v.open_time + " - " + v.close_time; 1880 clientOpeningHours = `<p>Opening Hours: </p> 1881 <p class='storeListModal-pickup'> 1882 <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')}"> 1883 <b>Pickup:</b> ${clientOpeningHours} 1884 </span> 1885 </p>`; 1886 1887 var clientLunchHours = ""; 1888 if (typeof v.lunch_open_time !== 'undefined' && typeof v.lunch_close_time !== 'undefined' && typeof v.lunch_hours !== 'undefined') { 1889 clientLunchHours = (v.lunch_open_time == 0 || v.lunch_close_time == 0) ? "Closed" : v.lunch_open_time + " - " + v.lunch_close_time; 1890 clientLunchHours = `<p class='storeListModal-lunch'> 1891 <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')}"> 1892 <b>Lunch:</b> ${clientLunchHours} 1893 </span> 1894 </p>`; 1895 } 1896 1897 var clientDeliveryHours = ""; 1898 if(v.pickup_only!='1'){ 1899 clientDeliveryHours = (v.delivery_start_time == 0 || v.delivery_end_time == 0) ? "Closed" : v.delivery_start_time + " - " + v.delivery_end_time; 1900 clientDeliveryHours = `<p class='storeListModal-delivery'> 1901 <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')}"> 1902 <b>Delivery:</b> ${clientDeliveryHours} 1903 </span> 1904 </p>`; 1905 }else{ 1906 clientDeliveryHours = "<p class='storeListModal-pickup'>Pickup Only</p>"; 1907 } 1908 1909 var clientURL = ""; 1910 if(v.client_url != null){ 1911 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>"; 1912 } 1913 1914 accordionBodyHTML = '<div id="'+acc_id+'" class="panel-collapse" style="display:none;">'+ 1915 '<div class="panel-body"><div class="row">' + 1916 '<div class="col-md-4">' + clientAddress + clientPhone + '</div>' + 1917 '<div class="col-md-4">' + clientOpeningHours + clientLunchHours + clientDeliveryHours + '</div>' + 1918 '<div class="col-md-4">' + clientURL + '</div>' + 1919 '</div></div></div>'; 1920 } 1921 1922 1923 //Build Accordion HTML 1924 storeListModalHTML += '<div class="panel panel-default">'+accordionHeaderHTML+accordionBodyHTML+'</div>'; 1925 tmp_state = client_state; 1926 }); 1927 1928 $('#storeListsModal #accordion').append(storeListModalHTML); 1929 1930 $('#storeListsModal .modal-body').find('.trading-hours-tooltip').tooltip(); 1931 1932 if(new Set(states).size === 1){ // Check if every client states are the same 1933 $(".storeState").hide(); 1934 } 1935 }); 1936 1937 }); 1938 1939 $('#storeListsModal').on('click', "#accordion .panel-heading-active > .panel-title > .panel-name", function(e){ 1940 const header_ref = $(this).attr('href'); 1941 1942 $('#storeListsModal #accordion .panel-heading-active > .panel-title > .panel-name').not($(this)).removeClass('open'); 1943 $('#storeListsModal #accordion div.panel-collapse').not(header_ref).slideUp('fast'); 1944 1945 $(this).toggleClass('open') 1946 $('#storeListsModal #accordion div'+header_ref).slideToggle('fast'); 1947 e.preventDefault(); 1948 }); 1949 1950 })($j); 1951 1952 if($(window).width() <= 320) { 1953 $('div.item-title').each(function(){ 1954 var truncated = $(this).text().substr(0, 29); 1955 $(this).text(truncated+(truncated.length<29?'':'...')); 1956 }); 1957 } 1958 }); 1959 </script>
1959 1960 1961
1961<script> 1962 $(document).ready(function(){ 1963 // WEB-1114 Add new order type selection before store selection 1964 1965 $('.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" />'); 1966 $('.order-type-text').html('Pick up Order'); 1967 1968 if ($('#estimated-time .estimated-time-bg').html() == '') { 1969 $('#estimated-time').hide(); 1970 } 1971 1972 //check_estimated_time(); 1973 1974 $(".order-type-bt").click(function(){ 1975 var order_type = this.value; 1976 if(($(".order-type-bt.active").val() == order_type) || ($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined')){ 1977 if($(".order-type-bt.active").val() == order_type){ 1978 $("#order-type-select").hide(); 1979 $('#store-select').fadeIn("fast"); 1980 $('.order-type-store-searchbar .select2-container--platina').hide(); 1981 $('.order-type-store-searchbar #chainStores, .order-type-store-searchbar #searchForm').hide(); 1982 1983 if(order_type == 'pickup'){ 1984 $('.order-type-store-searchbar #chainStores').show(); 1985 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 1986 } else if(order_type == 'delivery'){ 1987 $('.order-type-store-searchbar #searchForm').show(); 1988 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 1989 } 1990 } 1991 1992 return true; 1993 } 1994 1995 $('.order-type-bt').removeClass('active'); 1996 $("#order-type-bt-pickup, #order-type-bt-delivery").prop('disabled', false); 1997 1998 $("#order-type-select").hide(); 1999 2000 $('#store-select').fadeIn("fast"); 2001 2002 $(".mi-loader").css("display", "block"); 2003 2004 if ($(window).width() > 1024) { 2005 $('#estimated-time').show(); 2006 } 2007 2008 setTimeout(() => { 2009 change_order_type(order_type); 2010 }, 100); 2011 }); 2012 2013 $("#float-box .order-type-bt").click(function(){ 2014 var order_type = this.value; 2015 if(($(".order-type-bt.active").val() == order_type) || ($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined')){ 2016 return true; 2017 } 2018 2019 $('#store-select').hide(); 2020 $("#store-details").fadeIn("fast"); 2021 }); 2022 2023 $(".change-order-type-btn").click(function(){ 2024 $("#store-select").hide(); 2025 $("#store-details").hide(); 2026 $('#order-type-select').fadeIn("fast"); 2027 }); 2028 2029 // Update #store-data height when the inner #store container height changes - mobile only 2030 if ($(window).width() < 768) { 2031 const store_container = document.querySelector('#store'); 2032 2033 const resizeObserver = new ResizeObserver(() => { 2034 $('#store-data').height(store_container.offsetHeight + 100); 2035 }); 2036 2037 if (store_container !== null) { 2038 resizeObserver.observe(store_container); 2039 } 2040 } 2041 2042 if(window.history.replaceState){ 2043 window.history.replaceState(null, null, window.location.href); 2044 } 2045 2046 resizeStoreComponents(); 2047 }); 2048 2049 function change_order_type(order_type) { 2050 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 2051 $("#current_order_type_holder").val(order_type); 2052 $('#order-type-bt-'+order_type).addClass('active'); 2053 2054 $('.order-type-store-searchbar .select2-container--platina').hide(); 2055 2056 if (order_type == 'pickup') { 2057 $('.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" />'); 2058 $('.order-type-text').html('Pick up Order'); 2059 2060 $('.order-type-store-searchbar #chainStores').show(); 2061 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 2062 $('#getLocation').show(); 2063 $('#searchNearest').hide(); 2064 $('.order-type-store-searchbar #searchForm').hide(); 2065 } else if (order_type == 'delivery') { 2066 $('.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" />'); 2067 $('.order-type-text').html('Delivery Order'); 2068 2069 $('.order-type-store-searchbar #chainStores').hide(); 2070 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 2071 $('#getLocation').hide(); 2072 $('#searchNearest').show(); 2073 $('.order-type-store-searchbar #searchForm').show(); 2074 } 2075 2076 $.ajax({ 2077 method: 'POST', 2078 url: 'core/ajax/set_order_type.php', 2079 dataType: 'JSON', 2080 data: {order_type: order_type} 2081 }).success(function (data) { 2082 if ($('#menu-cont').length != 0) { 2083 //loads menu from api 2084 var tempReorder = $('#menuitems-reorder').prop('outerHTML'); 2085 $('#menu-cont').load('https://doughboyz.com.au/api/getmenu.php', {client_id:1288, order_type:order_type, menu_type:'both'}, function (data, status, xhr) { 2086 if (status != "error") { 2087 menu_nav(); 2088 get_cart_total(); 2089 } 2090 2091 $("#menu-items").prepend(tempReorder); 2092 lastreorderbutton(); 2093 }); 2094 } 2095 2096 if ($('#estimated-time .estimated-time-bg').html() == '') { 2097 $('#estimated-time').hide(); 2098 } 2099 }); 2100 } 2101 </script>
2101 2102 <style> 2103.custom-modal-overlay { 2104 position: fixed; 2105 top: 0; 2106 left: 0; 2107 width: 100%; 2108 height: 100%; 2109 background-color: rgba(0, 0, 0, 0.35); 2110 opacity: 1 !important; 2111 backdrop-filter: blur(5px); 2112 -webkit-backdrop-filter: blur(5px); 2113 z-index: 9999; 2114 display: flex; 2115 align-items: center; 2116 justify-content: center; 2117} 2118 2119.custom-modal-container { 2120 display: flex; 2121 align-items: center; 2122 justify-content: center; 2123 width: 100%; 2124 height: 100%; 2125 padding: 20px; 2126} 2127 2128.custom-modal-content { 2129 background: white; 2130 border-radius: 8px; 2131 padding: 25px; 2132 max-width: 500px; 2133 width: 100%; 2134 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06); 2135 animation: modalSlideIn 0.2s ease-out; 2136} 2137 2138@keyframes modalSlideIn { 2139 from { 2140 opacity: 0; 2141 transform: translateY(-20px); 2142 } 2143 to { 2144 opacity: 1; 2145 transform: translateY(0); 2146 } 2147} 2148 2149.custom-modal-message { 2150 font-size: 16px; 2151 line-height: 1.5; 2152 color: #333; 2153 margin-bottom: 20px; 2154 text-align: center; 2155} 2156 2157.custom-modal-buttons { 2158 display: flex; 2159 justify-content: center; 2160 gap: 10px; 2161} 2162 2163.custom-modal-btn { 2164 padding: 10px 20px; 2165 border: none; 2166 border-radius: 4px; 2167 font-size: 14px; 2168 font-weight: 500; 2169 cursor: pointer; 2170 transition: all 0.2s ease; 2171 min-width: 80px; 2172} 2173 2174.custom-modal-btn-primary { 2175 background-color: #007bff; 2176 color: white; 2177} 2178 2179.custom-modal-btn-primary:hover { 2180 background-color: #0056b3; 2181} 2182 2183.custom-modal-btn-secondary { 2184 background-color: #6c757d; 2185 color: white; 2186} 2187 2188.custom-modal-btn-secondary:hover { 2189 background-color: #545b62; 2190} 2191 2192.custom-modal-btn:active { 2193 transform: scale(0.98); 2194} 2195 2196/* MODAL CLASS */ 2197.class-modals .custom-modal-content{ 2198 border-radius: 16px; 2199 max-width: 448px; 2200 padding: 32px 24px 24px; 2201 display: flex; 2202 flex-direction: column; 2203 align-items: center; 2204} 2205.class-modals button{ 2206 border-radius: 12px; 2207 color: #fff; 2208 background-color : #388ee2; 2209 width: 100%; 2210 font-size: 14px; 2211 font-weight: 600; 2212} 2213.class-modals .custom-modal-buttons{ 2214 width: 100%; 2215} 2216.class-modals .custom-modal-heading{ 2217 font-size: 16px; 2218 font-weight: 600; 2219 margin-bottom: 4px; 2220 text-align: center; 2221} 2222.class-modals .custom-modal-message{ 2223 font-size: 14px; 2224} 2225.class-modals button:hover{ 2226 background-color : #4a97e5; 2227} 2228.class-modals .custom-modal-icon{ 2229 border-radius: 50px; 2230 display: flex; 2231 font-size: 20px; 2232 height: 56px; 2233 width: 56px; 2234 justify-content: center; 2235 align-items: center; 2236 margin-bottom: 16px; 2237} 2238.icon-gift, .icon-success{ 2239 background-color: #e2f9eb; 2240 color: #25b15f; 2241} 2242.icon-warning, .icon-cart, .icon-question{ 2243 background-color: #fdf2e2; 2244 color: #f5a83d; 2245} 2246.icon-error, .icon-suspicious{ 2247 background-color: #fbeaea; 2248 color: #df3a3a; 2249} 2250.icon-info, .icon-message{ 2251 background-color: #e4f0fb; 2252 color: #368ce2; 2253} 2254 2255/* Mobile responsive */ 2256@media (max-width: 600px) { 2257 .custom-modal-content { 2258 padding: 20px; 2259 max-width: 90%; 2260 } 2261 2262 .custom-modal-message { 2263 font-size: 14px; 2264 } 2265 2266 .custom-modal-buttons { 2267 flex-direction: column; 2268 } 2269 2270 .custom-modal-btn { 2271 width: 100%; 2272 } 2273} 2274</style>
2274<script> 2275// Global z-index counter for modals 2276if (typeof window.customModalZIndex === 'undefined') { 2277 window.customModalZIndex = 10000; 2278} 2279 2280// Helper function to show modal alerts dynamically 2281function showModalAlert(icon, heading, message, buttonText, callback) { 2282 var modalId = 'customModal' + Date.now(); 2283 var modalZIndex = window.customModalZIndex++; 2284 var iconMap = { 2285 'gift': 'fa-solid fa-gift', 2286 'info': 'fa-solid fa-info', 2287 'warning': 'fa-solid fa-triangle-exclamation', 2288 'question': 'fa-solid fa-question', 2289 'success': 'fa-solid fa-check', 2290 'error': 'fa-solid fa-x', 2291 'message': 'fa-solid fa-message', 2292 'suspicious': 'fa-solid fa-shield-halved', 2293 'cart': 'fa-solid fa-cart-shopping' 2294 }; 2295 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 2296 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 2297 var iconClass = hasIcon ? iconMap[iconKey] : ''; 2298 var iconHtml = hasIcon 2299 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 2300 : ''; 2301 2302 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 2303 '<div class="custom-modal-container">' + 2304 '<div class="custom-modal-content">' + 2305 iconHtml + 2306 '<div class="custom-modal-heading">' + heading + '</div>' + 2307 '<div class="custom-modal-message">' + message + '</div>' + 2308 '<div class="custom-modal-buttons">' + 2309 '<button class="custom-modal-btn custom-modal-btn-primary" onclick="closeCustomModal(\'' + modalId + '\')">' + buttonText + '</button>' + 2310 '</div>' + 2311 '</div>' + 2312 '</div>' + 2313 '</div>'; 2314 2315 $('body').append(modalHtml); 2316 $('#' + modalId).fadeIn(200); 2317 2318 var overlayElement = document.getElementById(modalId); 2319 var buttonElement = overlayElement.querySelector('.custom-modal-btn-primary'); 2320 2321 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 2322 // BUT allow button clicks to execute their handlers first 2323 var blockBootstrapHandler = function(e) { 2324 // Check if event originated from our custom modal 2325 var modalElement = e.target.closest('#' + modalId); 2326 if (modalElement) { 2327 // If clicking on button, execute close action immediately in capture phase 2328 if (e.target.closest('.custom-modal-btn-primary')) { 2329 e.stopImmediatePropagation(); 2330 e.preventDefault(); 2331 // Close immediately 2332 setTimeout(function() { 2333 closeCustomModal(modalId); 2334 }, 0); 2335 return; 2336 } 2337 2338 // If clicking on overlay/container (not content), close modal 2339 if (e.target.classList.contains('custom-modal-overlay') || 2340 e.target.classList.contains('custom-modal-container')) { 2341 e.stopImmediatePropagation(); 2342 e.preventDefault(); 2343 setTimeout(function() { 2344 closeCustomModal(modalId); 2345 }, 0); 2346 return; 2347 } 2348 2349 // For any other click inside modal, just block it from reaching Bootstrap 2350 e.stopImmediatePropagation(); 2351 } 2352 }; 2353 2354 // Attach to document in capture phase to intercept before Bootstrap modal handlers 2355 document.addEventListener('click', blockBootstrapHandler, true); 2356 document.addEventListener('mousedown', blockBootstrapHandler, true); 2357 document.addEventListener('mouseup', blockBootstrapHandler, true); 2358 2359 window.closeCustomModal = function(id) { 2360 $('#' + id).fadeOut(200, function() { 2361 $(this).remove(); 2362 // Clean up event listeners 2363 document.removeEventListener('click', blockBootstrapHandler, true); 2364 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2365 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2366 if(callback && typeof callback === 'function') { 2367 callback(); 2368 } 2369 }); 2370 }; 2371 2372 var handleEsc = function(e) { 2373 if (e.keyCode === 27) { 2374 closeCustomModal(modalId); 2375 document.removeEventListener('keyup', handleEsc); 2376 } 2377 }; 2378 document.addEventListener('keyup', handleEsc); 2379} 2380 2381// Helper function to show confirmation modals dynamically 2382// options = { cancelBtnColor: '#color', confirmBtnColor: '#color', cancelBtnClass: 'class', confirmBtnClass: 'class' } 2383function showModalConfirm(icon, heading, message, confirmText, cancelText, onConfirm, onCancel, options) { 2384 var modalId = 'customModal' + Date.now(); 2385 var modalZIndex = window.customModalZIndex++; 2386 var iconMap = { 2387 'gift': 'fa-solid fa-gift', 2388 'info': 'fa-solid fa-info', 2389 'warning': 'fa-solid fa-triangle-exclamation', 2390 'question': 'fa-solid fa-question', 2391 'success': 'fa-solid fa-check', 2392 'error': 'fa-solid fa-x', 2393 'message': 'fa-solid fa-message', 2394 'suspicious': 'fa-solid fa-shield-halved', 2395 'cart': 'fa-solid fa-cart-shopping' 2396 }; 2397 2398 // Handle optional icon (allow icon to be omitted) 2399 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 2400 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 2401 var iconClass = hasIcon ? iconMap[iconKey] : ''; 2402 var iconHtml = hasIcon 2403 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 2404 : ''; 2405 2406 // Default options 2407 options = options || {}; 2408 var cancelBtnColor = options.cancelBtnColor || '#6c757d'; 2409 var confirmBtnColor = options.confirmBtnColor || '#007bff'; 2410 var cancelBtnClass = options.cancelBtnClass || 'custom-modal-btn-secondary'; 2411 var confirmBtnClass = options.confirmBtnClass || 'custom-modal-btn-primary'; 2412 2413 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 2414 '<div class="custom-modal-container">' + 2415 '<div class="custom-modal-content">' + 2416 iconHtml + 2417 '<div class="custom-modal-heading">' + heading + '</div>' + 2418 '<div class="custom-modal-message">' + message + '</div>' + 2419 '<div class="custom-modal-buttons">' + 2420 '<button class="custom-modal-btn ' + cancelBtnClass + '" style="background-color: ' + cancelBtnColor + ';">' + cancelText + '</button>' + 2421 '<button class="custom-modal-btn ' + confirmBtnClass + '" style="background-color: ' + confirmBtnColor + ';">' + confirmText + '</button>' + 2422 '</div>' + 2423 '</div>' + 2424 '</div>' + 2425 '</div>'; 2426 2427 $('body').append(modalHtml); 2428 $('#' + modalId).fadeIn(200); 2429 2430 var overlayElement = document.getElementById(modalId); 2431 2432 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 2433 // BUT allow button clicks to execute their handlers first 2434 var blockBootstrapHandler = function(e) { 2435 // Check if event originated from our custom modal 2436 var modalElement = e.target.closest('#' + modalId); 2437 if (modalElement) { 2438 // If clicking on confirm button, execute action immediately in capture phase 2439 if (e.target.closest('.custom-modal-btn-primary')) { 2440 e.stopImmediatePropagation(); 2441 e.preventDefault(); 2442 // Close immediately 2443 setTimeout(function() { 2444 handleCustomModalConfirm(modalId); 2445 }, 0); 2446 return; 2447 } 2448 2449 // If clicking on cancel button, execute action immediately in capture phase 2450 if (e.target.closest('.custom-modal-btn-secondary')) { 2451 e.stopImmediatePropagation(); 2452 e.preventDefault(); 2453 // Close immediately 2454 setTimeout(function() { 2455 handleCustomModalCancel(modalId); 2456 }, 0); 2457 return; 2458 } 2459 2460 // If clicking on overlay/container (not content), close modal 2461 if (e.target.classList.contains('custom-modal-overlay') || 2462 e.target.classList.contains('custom-modal-container')) { 2463 e.stopImmediatePropagation(); 2464 e.preventDefault(); 2465 setTimeout(function() { 2466 handleCustomModalCancel(modalId); 2467 }, 0); 2468 return; 2469 } 2470 2471 // For any other click inside modal, just block it from reaching Bootstrap 2472 e.stopImmediatePropagation(); 2473 } 2474 }; 2475 2476 // Attach to document in capture phase to intercept before Bootstrap modal handlers 2477 document.addEventListener('click', blockBootstrapHandler, true); 2478 document.addEventListener('mousedown', blockBootstrapHandler, true); 2479 document.addEventListener('mouseup', blockBootstrapHandler, true); 2480 2481 window.handleCustomModalConfirm = function(id) { 2482 $('#' + id).fadeOut(200, function() { 2483 $(this).remove(); 2484 // Clean up event listeners 2485 document.removeEventListener('click', blockBootstrapHandler, true); 2486 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2487 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2488 if(onConfirm && typeof onConfirm === 'function') { 2489 onConfirm(); 2490 } 2491 }); 2492 }; 2493 2494 window.handleCustomModalCancel = function(id) { 2495 $('#' + id).fadeOut(200, function() { 2496 $(this).remove(); 2497 // Clean up event listeners 2498 document.removeEventListener('click', blockBootstrapHandler, true); 2499 document.removeEventListener('mousedown', blockBootstrapHandler, true); 2500 document.removeEventListener('mouseup', blockBootstrapHandler, true); 2501 if(onCancel && typeof onCancel === 'function') { 2502 onCancel(); 2503 } 2504 }); 2505 }; 2506 2507 var handleEsc = function(e) { 2508 if (e.keyCode === 27) { 2509 handleCustomModalCancel(modalId); 2510 document.removeEventListener('keyup', handleEsc); 2511 } 2512 }; 2513 document.addEventListener('keyup', handleEsc); 2514} 2515</script>
2515</head> 2516<!----------- HEADER -----------> 2517<body class="loading" data-spy="scroll" data-target=".navbar" data-offset="300" data-offset-top="300"> 2518 2519<div id="product_version"> 2520 <div class="modal fade in" show="false" id="version_update" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false"> 2521 <div class="modal-dialog modal-lg"> 2522 <div class="modal-content"> 2523 <div class="modal-header"> 2524 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 2525 <h4 class="modal-title" id="myModalLabel">We've updated our app!</h4> 2526 </div> 2527 <div class="modal-body"> 2528 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! 2529 </div> 2530 </div> 2531 </div> 2532 </div> 2533</div> 2534<!-- email confirmation code modal - start --> 2535<div class="modal fade" id="email_confirmation_container" role="dialog" data-backdrop="static" data-keyboard="false" style="background-color:unset;"> 2536 <div class="modal-dialog modal-dialog-centered" style="display:flex; align-items:center; min-height:calc(100% - (1.75rem * 2));"> 2537 <div class="modal-content" style="display:flex; flex-direction:column; width:100%;"> 2538 <div class="modal-header"> 2539 <h4 class="modal-title">EMAIL VERIFICATION</h4> 2540 </div> 2541 <div class="modal-body"> 2542 <div class="reg-alert alert" role="alert" style="display:none;"></div> 2543 <p>Please type the verification code sent to <span id="confirm_email_address"></span></p> 2544 <div class="form-group"> 2545 <input type="text" id="email_confirm_code" class="form-control" style="text-align:center; letter-spacing:10px" maxlength="6" placeholder="******" autocomplete="off"/> 2546 </div> 2547 </div> 2548 <div class="modal-footer"> 2549 <button id="email_confirm_cancel" class="btn btn-default" data-dismiss="modal">Close</button> 2550 <button id="email_confirm_continue" class="btn btn-primary disabled">Continue</button> 2551 </div> 2552 </div> 2553 </div> 2554</div> 2555<!-- email confirmation code modal - end --> 2556<div id="login-wrap"> 2557 <div id='login-section'> 2558
2558<script> 2559 function triggerBeginCheckoutTracking() { 2560 if (typeof document === 'undefined' || typeof document.dispatchEvent !== 'function') { 2561 return; 2562 } 2563 2564 try { 2565 document.dispatchEvent(new CustomEvent('ecom:begin_checkout')); 2566 } catch (err) { 2567 if (typeof document.createEvent === 'function') { 2568 var event = document.createEvent('CustomEvent'); 2569 event.initCustomEvent('ecom:begin_checkout', false, false, null); 2570 document.dispatchEvent(event); 2571 } 2572 } 2573 } 2574</script>
2574 2575
2575<script> 2576 function getEmailCallback(resp, user, source){ 2577 var responsePayload = jwt_decode(resp); 2578 2579 try{ 2580 var primaryEmail = responsePayload.email ?? ""; 2581 } catch(e){ 2582 var primaryEmail=""; 2583 } 2584 2585 var firstName, surname; 2586 if(source == "apple" && user){ 2587 primaryEmail = user.email ?? primaryEmail ?? ""; 2588 firstName = user.name.firstName ?? ""; 2589 surname = user.name.lastName ?? ""; 2590 } 2591 2592 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 2593 2594 var data = {}; 2595 if(source == "google"){ 2596 data['google_response'] = responsePayload; 2597 data['g_auth_token'] = resp; 2598 2599 $("#login-section .customer-details-card [name='password']").val(''); 2600 } else if(source == "apple"){ 2601 data['apple_response'] = responsePayload; 2602 data['apple_auth_token'] = resp; 2603 data['apple_auth_token_exp'] = responsePayload.exp; 2604 2605 if(responsePayload.aud != "" && responsePayload.iss != "https://appleid.apple.com" && responsePayload.nonce != ""){ 2606 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 2607 $("#login-section .login-card .alert").addClass("alert-danger").text("Invalid apple account").showElem().hideMsg(5); 2608 return false; 2609 } 2610 2611 if(typeof responsePayload.sub !== "undefined" && responsePayload.sub != ""){ 2612 $("#login-section .customer-details-card [name='password']").val(responsePayload.sub); 2613 } 2614 2615 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2616 } 2617 data['login_referer'] = window.login_referer; 2618 2619 $.post('https://doughboyz.com.au/core/ajax/login.php', data, function(data){ 2620 var obj = jQuery.parseJSON(data); 2621 var response_code = obj.response_code; 2622 2623 if(response_code != '00'){ 2624 if(!$("#login-wrap").is(":visible")){ 2625 $("#login-wrap").fadeToggle("fast"); 2626 } 2627 2628 $("#login-section .login-card").hideElem(); 2629 $("#login-section .customer-details-card").showElem(); 2630 $("#login-section .customer-details-card #login-label").parent().showElem(); 2631 $("#login-section .customer-details-card #register-phone").data("registerwith", "applesignin").removeAttr("readonly"); 2632 $("#login-section .customer-details-card [name='email']").val(primaryEmail).prop("readonly", true); 2633 2634 if($("#current_order_type_holder").val() == "pickup"){ 2635 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 2636 } 2637 } else{ 2638 if(obj.no_address){ 2639 update_address(obj); 2640 } else{ 2641 if(window.login_referer == 'navbar' || window.login_referer == 'checkout' || window.login_referer == 'catering'){ 2642 if(window.login_referer == 'navbar'){ 2643 window.location.href = '?page='; 2644 window.location.reload(); 2645 } 2646 2647 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 2648 triggerBeginCheckoutTracking(); 2649 window.location.href = '?page=checkout'; 2650 } 2651 } 2652 else{ 2653 2654 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 2655 window.location.href = '?page=browse' + anchor; 2656 window.location.reload(); 2657 2658 } 2659 } 2660 } 2661 }); 2662 } 2663 </script>
2663 2664
2664<script src="https://accounts.google.com/gsi/client" async defer></script>
2664 2665
2665<script> 2666 function handleCredentialResponse(googleUser){ 2667 getEmailCallback(googleUser.credential, "", "google"); 2668 } 2669 </script>
2669 2670
2670<script> 2671 function isEmail(email) { 2672 var EmailRegex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 2673 return EmailRegex.test(email); 2674 } 2675 2676 function update_address(customer){ 2677 $("#login-section .login-card, #login-section .otp-card").hideElem(); 2678 $("#login-section .customer-details-card").showElem(); 2679 2680 $("#login-section .customer-details-card #create-account .account-second input[name='unitNumber']").val(customer.deliveryUnitNumber); 2681 $("#login-section .customer-details-card #create-account .account-second input[name='houseNumber']").val(customer.deliveryStreetNumber); 2682 2683 if(customer.deliveryStreetSuburb != ", " && customer.deliveryStreetSuburb != ","){ 2684 $("#login-section .customer-details-card #create-account .account-second select[name='deliveryStreet']").append('<option value="'+customer.deliveryStreetSuburb+'">'+customer.deliveryStreetSuburb+'</option>'); 2685 } 2686 2687 $("#login-section .customer-details-card #create-account .account-second input[name='deliveryInstructions']").val(customer.delivery_instructions); 2688 2689 $("#login-section .customer-details-card #login-label").parent().remove(); 2690 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 2691 $("#login-section .customer-details-card .slider").hideElem(); 2692 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2693 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 2694 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 2695 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first second third").addClass("second").remove(); 2696 2697 $("#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>'); 2698 $("#login-section .customer-details-card #create-account div.alert").addClass("alert-danger").text(customer.address_err_msg).showElem().hideMsg(5); 2699 2700 var form = $j("#login-section .customer-details-card #create-account .account-second .form-control:visible"); 2701 var initial_form_data = form.serialize(); 2702 $j("#login-section .customer-details-card #create-account .account-second .form-control:visible").off('change'); 2703 $j("#login-section .customer-details-card #create-account .account-second .form-control:visible").on('change', function(){ 2704 var current_form_data = form.serialize(); 2705 2706 $("#login-section .customer-details-card .btn-2-block").prop("disabled", true); 2707 if(current_form_data !== initial_form_data){ 2708 $("#login-section .customer-details-card .btn-2-block").prop("disabled", false); 2709 } 2710 }); 2711 } 2712 2713 $(document).ready(function(){ 2714 var otp_input_wrap = $("#login-section .otp-card #otp-box"), 2715 otp_input = $("#login-section .otp-card #otp-box .login"), 2716 otp_final_input = "", 2717 skip_reg = false, 2718 customer_exist = false, 2719 customer_phone = "", 2720 otp_attempt = 1, 2721 password_reset_email = ""; 2722 2723 function otp_count(){ 2724 otp_final_input = ""; 2725 if(otp_input.length){ 2726 otp_input.each(function(){ 2727 if($.trim($(this).val())!=""){ 2728 otp_final_input += $(this).val(); 2729 } 2730 }); 2731 } 2732 } 2733 2734 function start_otp_input(){ 2735 if(otp_input.length){ 2736 otp_input.each(function(){ 2737 $(this).val(""); 2738 }); 2739 otp_attempt = 1; 2740 2741 update_otp_input(otp_input_wrap.children(":first"), false); 2742 } 2743 } 2744 2745 function update_otp_input(element, disabledStatus){ 2746 if(!disabledStatus){ 2747 element.focus(); 2748 } else{ 2749 element.blur(); 2750 } 2751 } 2752 2753 function check_customer(_this){ 2754 var data = {}; 2755 2756 if(_this.attr("name") == "phoneNumber"){ 2757 data['phoneNumber'] = registerPhoneInt.getNumber(); // always pass E.164 format_this.val(); 2758 data['registerwith'] = (typeof _this.data('registerwith') !== "undefined" ? _this.data('registerwith') : ""); 2759 } else{ 2760 data['email'] = _this.val(); 2761 } 2762 2763 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"){ 2764 data['guest'] = 1; 2765 data['wl'] = 1; 2766 } 2767 2768 return $.ajax({ 2769 type: "POST", 2770 url: "https://doughboyz.com.au/core/ajax/check_customer.php", 2771 data: data, 2772 success: function(data){ 2773 data = (typeof data === 'string') ? JSON.parse(data) : data; 2774 if(data.isError === true){ 2775 _this.closest(".form-group").find("label.error").text(data.errorMessage).showElem(); 2776 error_occured = true; 2777 } else{ 2778 _this.closest(".form-group").find("label.error").hideElem().text(""); 2779 } 2780 } 2781 }); 2782 } 2783 2784 function check_phone(phone, isRegister = false){
2785 let fullNumber, countryData; 2786 if (!isRegister) { 2787 fullNumber = loginPhoneOtpInt.getNumber(); 2788 countryData = loginPhoneOtpInt.getSelectedCountryData(); 2789 } else { 2790 fullNumber = registerPhoneInt.getNumber(); 2791 countryData = registerPhoneInt.getSelectedCountryData(); 2792 } 2793 2794 const { parsePhoneNumberFromString } = libphonenumber; 2795 2796 const parsed = parsePhoneNumberFromString( 2797 fullNumber, 2798 countryData.iso2.toUpperCase() 2799 ); 2800 2801 if (!parsed || !parsed.isValid()) { 2802 return true; // not valid at all 2803 } 2804 2805 // Only allow MOBILE 2806 return parsed.getType() !== "MOBILE"; 2807 } 2808 2809 // Handles post signup/login completion actions: optional signup email, address update, and redirect logic 2810 function finalizeSignupFlow(loginBtn, loginResp , signupEmail, cartTotal) { 2811 if(loginBtn.data("login-type") === undefined || loginBtn.data("login-type") !== "guest"){ 2812 sendSignupEmail(signupEmail); 2813 } 2814 2815 if((window.login_referer == "checkout" && cartTotal > 0) || window.login_referer == "catering"){ 2816 if(loginResp && loginResp.address_err_msg != undefined){ 2817 loginBtn.html("Continue").prop("disabled", false); 2818 $("#login-section .customer-details-card .create-account .account-third").hideElem(); 2819 update_address(loginResp); 2820 } else{ 2821 window.location.href = "?page=checkout"; 2822 triggerBeginCheckoutTracking(); 2823 } 2824 } else{ 2825 var url = new URL(window.location.href); 2826 var location_href = (url.searchParams.get("logout") != null && url.searchParams.get("logout") == "true") ? "?page=browse" : window.location.href; 2827 2828 window.location.href = location_href; 2829 window.location.reload(); 2830 } 2831 } 2832 2833 function sendSignupEmail(signupEmail) { 2834 $.ajax({ 2835 type: "POST", 2836 url: "core/signup_email_msg.php", 2837 async: false, 2838 data: signupEmail, 2839 success: function(msg){} 2840 }); 2841 } 2842 2843 function validate_form(element){ 2844 var error_occured = false, 2845 new_pass = '', 2846 confirm_pass = '', 2847 compare_pass = false; 2848 2849 $(".form-control.required:visible").closest(".form-group").find("label.error").hideElem().text(""); 2850 element.find(".form-control.required:visible").each(function(){ 2851 var invalid = false, 2852 _this = $(this); 2853 2854 _this.data("state", "submitted"); 2855 2856 if(_this.hasClass("required")){ 2857 if($.trim(_this.val())==""){ 2858 _this.closest(".form-group").find("label.error").text("This field is required").showElem(); 2859 error_occured = invalid = true; 2860 } 2861 } 2862 2863 if(!invalid && _this.attr("name") == "email"){ 2864 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 2865 if(!regex.test(_this.val())){ 2866 _this.closest(".form-group").find("label.error").text("Please enter a valid email address").showElem(); 2867 error_occured = invalid = true; 2868 } 2869 } 2870 2871 if(!invalid && _this.attr("name") == "phoneNumber"){ 2872 if(check_phone(_this.val(), true)){ 2873 _this.closest(".form-group").find("label.error").text("Please enter a valid phone number").showElem(); 2874 error_occured = invalid = true; 2875 } 2876 } 2877 2878 if(!invalid && _this.attr("name") === "password"){ 2879 if(_this.val().length < 6){ 2880 _this.closest(".form-group").find("label.error").text("Please enter at least 6 characters").showElem(); 2881 error_occured = invalid = true; 2882 } else{ 2883 new_pass = _this.val(); 2884 compare_pass = true 2885 } 2886 } 2887 2888 if(!invalid && _this.attr("name") === "retypePassword"){ 2889 confirm_pass = _this.val(); 2890 compare_pass = true; 2891 } 2892 }); 2893 2894 if(compare_pass && new_pass !== confirm_pass){ 2895 $("input[name='retypePassword']").closest(".form-group").find("label.error").text("Passwords do not match").showElem(); 2896 error_occured = true; 2897 } 2898 2899 return (!error_occured) ? true : false;
2900 } 2901 2902 function hide_login_errors(){ 2903 // Destroy intlTelInput so flags disappear 2904 if (phoneLoginInt) { 2905 phoneLoginInt.destroy(); 2906 phoneLoginInt = null; 2907 } 2908 2909 $("#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(""); 2910 $("#login-section .login-card #email-form #login-mobile").css("border", "").hide(); 2911 } 2912 2913 function hide_customer_form(){ 2914 $("#login-section .customer-details-card .form-control.required").removeData("state"); 2915 $("#login-section .customer-details-card .form-control").closest(".form-group").find("label.error").hideElem().text(""); 2916 $("#login-section .customer-details-card").hideElem(); 2917 $("#login-section .customer-details-card .slider").showElem(); 2918 $("#login-section .customer-details-card .slider li button").removeClass("active previous"); 2919 $("#login-section .customer-details-card .slider li").eq(1).showElem(); 2920 $("#login-section .customer-details-card .slider li:last").showElem(); 2921 $("#login-section .customer-details-card .slider li:first button").addClass("active"); 2922 $("#login-section .customer-details-card .create-account .account-header h3").text("Create Account"); 2923 $("#login-section .customer-details-card .create-account .account-first").css("display", ""); 2924 $("#login-section .customer-details-card .password-wrapper").removeClass("cover"); 2925 $("#login-section .customer-details-card .customer-marketing-material-wrapper").showElem(); 2926 $("#login-section .customer-details-card [name='customer_marketing_material']").prop("checked", true); 2927 createAccountRenderSize(); 2928 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 2929 $("#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(); 2930 $("#login-section .customer-details-card #register-phone").removeData("registerwith").prop("readonly", true).closest(".field-wrapper.form-group").css("background-color", ""); 2931 $("#login-section .customer-details-card [name='email']").removeAttr("readonly"); 2932 $("#login-section .customer-details-card .btn-2-block").prop("disabled", false).removeClass("second third update-address").addClass("first").text("Continue").removeData("loginType"); 2933 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second third").addClass("first"); 2934 } 2935 2936 function createAccountRenderSize(){ 2937 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"){ 2938 $("#login-section .customer-details-card .create-account .account-first").css({ 2939 "display": "", 2940 "overflow-x": "", 2941 "height": "", 2942 "margin-bottom": "" 2943 }); 2944 } else{ 2945 if($(window).width() <= 420 && $(window).height() <= 740){ 2946 $("#login-section .customer-details-card .create-account .account-first:has(> .password-wrapper:not(.cover))").css({ 2947 "display": "inline-block", 2948 "overflow-x": "auto", 2949 "height": ($(window).height() - 220) + "px", 2950 "margin-bottom": "10px" 2951 }); 2952 } else{ 2953 $("#login-section .customer-details-card .create-account .account-first:has(> .password-wrapper:not(.cover))").css({ 2954 "display": "", 2955 "overflow-x": "", 2956 "height": "", 2957 "margin-bottom": "" 2958 }); 2959 } 2960 } 2961 } 2962 2963 $.fn.hideElem = function(){ 2964 $(this).css("display", "none"); 2965 return this; 2966 }; 2967 2968 $.fn.showElem = function(){ 2969 $(this).fadeIn(100); 2970 return this; 2971 }; 2972 2973 $.fn.hideMsg = function(timeOut){ 2974 if(timeOut != undefined){ 2975 var _this = $(this); 2976 setTimeout(function(){ 2977 if(_this.is(":visible")){ 2978 _this.fadeOut(500); 2979 } 2980 }, (timeOut * 1000)); 2981 } 2982 return this; 2983 } 2984 2985 $("#login-section .close").click(function(){ 2986 if(!$(this).hasClass("disabled")){ 2987 clearInterval(countdown_timer); 2988 $("#login-section .login-card, #login-section .login-card #phone-number-form").css("display", ""); 2989 $("#login-section .login-card .forgot-password, #login-section .password-reset-card, #login-section .otp-card, #login-section .customer-details-card").hideElem(); 2990 $("#login-section .login-card #email-form").hideElem(); 2991 $("#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"); 2992 $("#login-section .otp-card .login-modal-header").css("display", ""); 2993 $("#login-section .login-card .btn-2-block, #login-section .password-reset-card .btn-2-block").prop("disabled", false); 2994 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 2995 $("#login-section .otp-card .btn-2-block").removeData("registerwith").prop("disabled", true); 2996 $("#login-section .login-card .login-with").text("Login with Password").removeClass("mobile").addClass("password"); 2997 $("#login-section .login-card #login-label h3").css("font-size", "").text("What's your mobile number?"); 2998 $("#login-section .login-card .btn-2-block").text("Login or Sign Up").removeClass("password").addClass("mobile"); 2999 $("#login-section .customer-details-card #login-label").parent().hideElem(); 3000 hide_customer_form(); 3001 $("#login-section .customer-details-card #register-phone").prop("readonly", true); 3002 $("#login-section .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3003 $("#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(""); 3004 3005 $("#login-section .login-card #login-label h3").css("font-size", "1.4em").text("What's your email or mobile number?"); 3006 $("#login-section .login-card #email-form, #login-section .login-card .forgot-password").showElem(); 3007 hide_login_errors(); 3008 $("#login-section .login-card .btn-2-block").text("Login").removeClass("mobile").addClass("password"); 3009 $("#login-section .customer-details-card #login-label").parent().showElem(); 3010 3011 skip_reg = false;
3012 customer_exist = false; 3013 customer_phone = ""; 3014 } 3015 }); 3016 3017 $("#login-section .login-card .login-with").click(function(){ 3018 if(!$(this).hasClass("disabled")){ 3019 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3020 if($(this).hasClass("password")){ 3021 $(this).siblings().showElem(); 3022 $(this).text("Login with Mobile Number").removeClass("password").addClass("mobile"); 3023 $("#login-section .login-card #login-label h3").css("font-size", "1.4em").text("What's your email or mobile number?"); 3024 $("#login-section .login-card #phone-number-form").hideElem(); 3025 $("#login-section .login-card #email-form").showElem(); 3026 $("#login-section .login-card .btn-2-block").text("Login").removeClass("mobile").addClass("password"); 3027 } else{ 3028 $(this).siblings().hideElem(); 3029 $(this).text("Login with Password").removeClass("mobile").addClass("password"); 3030 $("#login-section .login-card #login-label h3").css("font-size", "").text("What's your mobile number?"); 3031 $("#login-section .login-card #phone-number-form").showElem(); 3032 $("#login-section .login-card #email-form").hideElem(); 3033 $("#login-section .login-card .btn-2-block").text("Login or Sign Up").removeClass("password").addClass("mobile"); 3034 } 3035 } 3036 }); 3037 3038 $("#login-section .login-card .sign-up").click(function(){ 3039 $("#login-section .login-card").hideElem(); 3040 $("#login-section .customer-details-card").showElem(); 3041 $("#login-section .customer-details-card #login-label").parent().showElem(); 3042 $("#login-section .customer-details-card #register-phone").prop("readonly", false); 3043 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 3044 3045 if($("#current_order_type_holder").val() == "pickup"){ 3046 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 3047 } 3048 3049 createAccountRenderSize(); 3050 }); 3051 3052 $("#login-section .login-card .btn-2-block").click(function(){ 3053 var _this = $(this); 3054 3055 if($(this).hasClass("password")){ 3056 var error = false; 3057 var email = $("#login-section .login-card #email-form #login-email"); 3058 var mobile = $("#login-section .login-card #email-form #login-mobile"); 3059 var password = $("#login-section .login-card #email-form #login-pass"); 3060 var login_detail = (mobile.is(":visible")) ? mobile : email; 3061 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3062 3063 email.css("border", "").siblings('.field-message').removeClass("active").text(""); 3064 mobile.css("border", ""); 3065 password.css("border", "").next().removeClass("active").text(""); 3066 3067 if(!$.trim(login_detail.val()).length){ 3068 email.css("border", "1px solid #ea868f").siblings('.field-message').addClass("active").text(login_detail.attr("placeholder")); 3069 mobile.css("border", "1px solid #ea868f"); 3070 error = true; 3071 } 3072 3073 if(!$.trim(password.val()).length){ 3074 password.css("border", "1px solid #ea868f").next().addClass("active").text(password.attr("placeholder")); 3075 error = true; 3076 } 3077 3078 var username; 3079 if (mobile.is(":visible")) { 3080 const fullNumber = phoneLoginInt.getNumber(); 3081 const countryData = phoneLoginInt.getSelectedCountryData(); 3082 3083 const { parsePhoneNumberFromString } = libphonenumber; 3084 3085 const parsed = parsePhoneNumberFromString( 3086 fullNumber, 3087 countryData.iso2.toUpperCase() 3088 ); 3089 3090 if (!parsed || !parsed.isValid() || parsed.getType() !== "MOBILE") { 3091 email.css("border", "1px solid #ea868f").siblings('.field-message').addClass("active").text('Invalid mobile phone number'); 3092 mobile.css("border", "1px solid #ea868f"); 3093 error = true;
3093 // not valid at all 3094 } 3095 3096 username = fullNumber; // E.164 format 3097 } else { 3098 username = login_detail.val(); 3099 } 3100 3101 if(error){ 3102 return false; 3103 } 3104 3105 _this.text("Logging in...").prop("disabled", true); 3106 login_detail.prop("disabled", true); 3107 password.prop("disabled", true); 3108 $("#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"); 3109 3110 $.ajax({ 3111 type: "POST", 3112 url: "https://doughboyz.com.au/core/ajax/login.php", 3113 data: { 'login_detail': username, 'pw': password.val(), 'remember_me': true, 'login_referer': window.login_referer }, 3114 success: function(msg){ 3115 var name; 3116 var obj = jQuery.parseJSON(msg); 3117 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3118 3119 if(obj.no_address){ 3120 update_address(obj); 3121 } else{ 3122 if(obj.response_code == "00"){ 3123 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3124 window.location.href = '?page=checkout'; 3125 triggerBeginCheckoutTracking(); 3126 } else{ 3127 if (window.login_referer !== 'catering-promo') { 3128 window.location.href = '?page=browse' + anchor; 3129 } 3130 3131 window.location.reload(); 3132 } 3133 } else{ 3134 _this.text("Login").prop("disabled", false); 3135 login_detail.prop("disabled", false); 3136 password.prop("disabled", false); 3137 $("#login-section .login-card .forgot-password, #login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3138 $("#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); 3139 } 3140 } 3141 }, 3142 error: function(){ 3143 _this.text("Login").prop("disabled", false); 3144 login_detail.prop("disabled", false); 3145 password.prop("disabled", false); 3146 $("#login-section .login-card .forgot-password, #login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3147 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3148 } 3149 }); 3150 } else{ 3151 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3152 3153 var phone = $("#login-section .login-card #phone-number-form #login-phone"); 3154 phone.css("border", "").next().removeClass("active").text(""); 3155 3156 if(!$.trim(phone.val()).length){ 3157 phone.css("border", "1px solid #ea868f").closest(".form-group").find(".field-message").addClass("active").text("Please enter your mobile number"); 3158 return false;
3159 } 3160 3161 var invalid_phone = check_phone(phone.val()), 3162 phone_val = loginPhoneOtpInt.getNumber(); // always pass E.164 format_this.val(); 3163 3164 registerPhoneInt.setNumber(phone_val); 3165 3166 if(invalid_phone){ 3167 phone.css("border", "1px solid #ea868f").closest(".form-group").find(".field-message").addClass("active").text("Please enter a valid mobile number"); 3168 return false; 3169 } 3170 3171 _this.text("Logging in...").prop("disabled", true); 3172 phone.prop("disabled", true); 3173 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").addClass("disabled"); 3174 3175 $.ajax({ 3176 type: "POST", 3177 url: "https://doughboyz.com.au/core/ajax/login.php", 3178 data: { 'phone_number': phone_val, 'remember_me': true, 'login_referer': window.login_referer }, 3179 success: function(msg){ 3180 var name; 3181 var obj = jQuery.parseJSON(msg); 3182 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3183 3184 if(obj.response_code == "00"){ 3185 if(window.login_referer == 'navbar'){ 3186 window.location.href = '?page=browse' + anchor; 3187 window.location.reload(); 3188 } else if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3189 window.location.href = '?page=checkout'; 3190 triggerBeginCheckoutTracking(); 3191 } else if(window.login_referer == 'beercheckout'){ 3192 if(obj.deliveryStreetSuburb == ''){ 3193 window.location.href = '?page=customer_details&err_code=1005&redirect_to_beer=1'; 3194 }else{ 3195 window.location = ''; 3196 } 3197 } else{ 3198 if (window.login_referer !== 'catering-promo') { 3199 window.location.href = '?page=browse' + anchor; 3200 } 3201 3202 window.location.reload(); 3203 } 3204 } else{ 3205 _this.text("Login or Sign Up").prop("disabled", false); 3206 phone.prop("disabled", false); 3207 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3208 3209 if(typeof obj.otp_message === "undefined"){ 3210 $("#login-section .login-card").hideElem(); 3211 $("#login-section .otp-card").showElem(); 3212 $("#login-section .otp-card .resend-code").addClass("disabled"); 3213 resend_countdown("login-section .otp-card .resend-code"); 3214 $("#login-section .otp-card .otp-phone").html(phone_val); 3215 $("#login-section .customer-details-card #register-phone").val(phone.val()); 3216 3217 customer_exist = (obj.response_code == "02") ? true : false; 3218 customer_phone = phone_val; 3219 start_otp_input(); 3220 } else{ 3221 $("#login-section .login-card .alert").addClass("alert-danger").text(obj.otp_message).showElem().hideMsg(5); 3222 } 3223 } 3224 }, 3225 error: function(){ 3226 _this.text("Login or Sign Up").prop("disabled", false); 3227 phone.prop("disabled", false); 3228 $("#login-section .login-card .login-with, #login-section .login-card .disable-social").removeClass("disabled"); 3229 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3230 customer_exist = false;
3231 customer_phone = phone_val; 3232 } 3233 }); 3234 } 3235 }); 3236 3237 $("#login-section .login-card .btn-guest-checkout").click(function(){ 3238 $("#login-section .login-card").hideElem(); 3239 $("#login-section .customer-details-card").showElem(); 3240 $("#login-section .customer-details-card #login-label").parent().showElem(); 3241 $("#login-section .customer-details-card .create-account .account-header h3").text("Guest Account"); 3242 $("#login-section .customer-details-card #register-phone").prop("readonly", false); 3243 $("#login-section .customer-details-card .password-wrapper").addClass("cover").hideElem(); 3244 $("#login-section .customer-details-card .customer-marketing-material-wrapper").hideElem(); 3245 $("#login-section .customer-details-card .btn-2-block").text("Continue as Guest").data("login-type", "guest"); 3246 3247 if($("#current_order_type_holder").val() == "pickup"){ 3248 $("#login-section .customer-details-card .slider").hideElem(); 3249 } else{ 3250 $("#login-section .customer-details-card .slider li:last").hideElem(); 3251 } 3252 3253 createAccountRenderSize(); 3254 }); 3255 3256 if(otp_input.length){ 3257 otp_input.each(function(){ 3258 var element = $(this); 3259 element.keyup(function(e){ 3260 $(this).val($(this).val().replace(/[^0-9]/g, "")); 3261 3262 if($(this).val().length == 1){ 3263 update_otp_input(element, true); 3264 update_otp_input(element.next(), false); 3265 } else if($(this).val().length == 0 && e.keyCode == 8){ 3266 element.prev().val(""); 3267 update_otp_input(element.prev(), false); 3268 } else if($(this).val().length > 1){ 3269 $(this).val()($(this).val().split("")[0]); 3270 } 3271 3272 otp_count(); 3273 }); 3274 }); 3275 3276 $(window).keyup(function(e){ 3277 if(otp_final_input.length > 5){ 3278 $("#login-section .otp-card .btn-2-block").prop("disabled", false); 3279 if(e.keyCode == 8){ 3280 update_otp_input(otp_input_wrap.children(":last"), false); 3281 otp_input_wrap.children(":last").val(""); 3282 3283 } 3284 } else{ 3285 $("#login-section .otp-card .btn-2-block").prop("disabled", true); 3286 } 3287 }); 3288 } 3289 3290 $("#login-section .otp-card .btn-2-block").click(function(){ 3291 var _this = $(this); 3292 3293 _this.prop("disabled", true); 3294 $("#login-section .otp-card .otp-box .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3295 3296 if(otp_attempt > 3){ 3297 $("#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); 3298 start_otp_input(); 3299 return false; 3300 } 3301 3302 $.ajax({ 3303 type: "POST", 3304 dataType: 'json', 3305 url: "https://doughboyz.com.au/core/ajax/validate-otp.php", 3306 data: { 3307 'otp': otp_final_input, 3308 'phone': customer_phone, 3309 'ce': (customer_exist ? 1 : 0), 3310 'login_referer': window.login_referer 3311 }, 3312 success: function(data){ 3313 if(data.type == "success"){ 3314 if(data.customer_details.no_address){ 3315 update_address(data.customer_details); 3316 3317 } else{ 3318 _this.text("Logging in..."); 3319 clearInterval(countdown_timer); 3320 var anchor = ($("#storeSelected").length > 0) ? '#store-data' : ''; 3321 3322 if(window.login_referer == 'checkout' || window.login_referer == 'catering'){ 3323 window.location.href = '?page=checkout'; 3324 triggerBeginCheckoutTracking(); 3325 } else{ 3326 if (window.login_referer
3326!== 'catering-promo') { 3327 window.location.href = '?page=browse' + anchor; 3328 } else { 3329 window.location.reload(); 3330 } 3331 } 3332 } 3333 } else if(data.type == "register"){ 3334 if(typeof _this.data("registerwith") !== "undefined" && _this.data("registerwith") == "applesignin"){ 3335 $("#login-section .otp-card #login-label").addClass("disabled") 3336 $("#login-section .otp-card .close").hideElem(); 3337 clearInterval(countdown_timer); 3338 $("#login-section .otp-card .resend-code").addClass("disabled"); 3339 3340 $.ajax({ 3341 type: "POST", 3342 url: "https://doughboyz.com.au/core/ajax/update-email.php", 3343 data: { 3344 "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(), 3345 "phonenumber": $("#login-section .customer-details-card #register-phone").val().replace(/\s/g, "") 3346 }, 3347 success: function(data){ 3348 if(window.login_referer == "checkout" || window.login_referer == 'catering'){ 3349 window.location.href = "?page=checkout"; 3350 triggerBeginCheckoutTracking(); 3351 } else{ 3352 var url = new URL(window.location.href); 3353 var location_href = (url.searchParams.get("logout") != null && url.searchParams.get("logout") == "true") ? "?page=browse" : window.location.href; 3354 3355 window.location.href = location_href; 3356 } 3357 } 3358 }); 3359 } else{ 3360 _this.prop("disabled", false); 3361 $("#login-section .otp-card").hideElem(); 3362 clearInterval(countdown_timer); 3363 $("#login-section .otp-card #otp-box input[name='otp-box[]']").val(""); 3364 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 3365 $("#login-section .customer-details-card").showElem(); 3366 $("#login-section .customer-details-card #login-label").parent().hideElem(); 3367 $("#login-section .customer-details-card #register-phone").closest(".field-wrapper.form-group").css("background-color", "#eeeeee"); 3368 3369 if($("#current_order_type_holder").val() == "pickup"){ 3370 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 3371 } 3372 } 3373 }else{ 3374 _this.prop("disabled", false); 3375 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3376 } 3377 3378 otp_attempt++; 3379 }, 3380 error: function(){ 3381 _this.prop("disabled", false); 3382 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3383 } 3384 }); 3385 }); 3386 3387 $("#login-section .otp-card .resend-code").click(function(){ 3388 if(!$(this).hasClass("disabled")){ 3389 var _this = $(this); 3390 _this.html("Resending...").addClass("disabled"); 3391 $("#login-section .otp-card .otp-box .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3392 3393 $.ajax({ 3394 type: "POST", 3395 dataType: 'json', 3396 data: { 'phone': customer_phone }, 3397 url: "https://doughboyz.com.au/core/ajax/resend-otp.php", 3398 success: function(data){ 3399 if(data.type != "success"){ 3400 _this.html("Resend code").removeClass("disabled"); 3401 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3402 } else{ 3403 $("#login-section .otp-card .otp-box .alert").addClass("alert-success").text("A new verification code has been sent").showElem().hideMsg(5); 3404 start_otp_input(); 3405 resend_countdown("login-section .otp-card .resend-code"); 3406 } 3407 }, 3408 error: function(){ 3409 _this.html("Resend code").removeClass("disabled"); 3410 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3411 } 3412 }); 3413 } 3414 }); 3415 3416 $("#login-section .otp-card #login-label").click(function(){ 3417 if(!$(this).hasClass("disabled")){ 3418 if(typeof $("#login-section .otp-card .btn-2-block").data("registerwith") !== "undefined" && $("#login-section .otp-card .btn-2-block").data("registerwith") == "applesignin"){ 3419 $("#login-section .customer-details-card").showElem(); 3420 } else{ 3421 $("#login-section .login-card").showElem(); 3422 } 3423 3424 $("#login-section .otp-card").hideElem(); 3425 clearInterval(countdown_timer); 3426 $("#login-section .otp-card .resend-code").html("Resend code").removeClass("disabled"); 3427 $("#login-section .otp-card .btn-2-block").prop("disabled", true); 3428 } 3429 }); 3430 3431 $("#login-section .login-card .forgot-password").click(function(){ 3432 if(!$(this).hasClass("disabled")){ 3433 $("#login-section .login-card").hideElem(); 3434 $("#login-section .password-reset-card").showElem(); 3435 } 3436 }); 3437 3438 $("#login-section .password-reset-card #login-label").click(function(){ 3439 if(!$(this).hasClass("disabled")){ 3440 $("#login-section .login-card").showElem(); 3441 $("#login-section .password-reset-card").hideElem(); 3442 } 3443 }); 3444 3445 $("#login-section .password-reset-card .btn-2-block").click(function(){ 3446 var _this = $(this); 3447 var email = $("#login-section .password-reset-card #forgot-email"); 3448 email.css("border", "").siblings(".field-message").removeClass("active").text(""); 3449 if(!$.trim(email.val()).length || !isEmail(email.val())){ 3450 email.css("border", "1px solid #ea868f").siblings(".field-message").addClass("active").text(email.attr("placeholder")); 3451 return false;
3452 } 3453 3454 _this.text("Please wait...").prop("disabled", true); 3455 email.prop("disabled", true); 3456 $("#login-section .password-reset-card #login-label").addClass("disabled"); 3457 $("#login-section .login-card .alert").removeClass("alert-success alert-danger").hideElem().text(""); 3458 3459 $.ajax({ 3460 type: "POST", 3461 dataType: 'json', 3462 url: "https://doughboyz.com.au/core/ajax/reset-password-email.php", 3463 data: {username: email.val()}, 3464 success: function(data){ 3465 _this.text("Continue").prop("disabled", false); 3466 email.prop("disabled", false); 3467 $("#login-section .password-reset-card #login-label").removeClass("disabled"); 3468 if(data.type == "success"){ 3469 if(data.provider === "cognito") { 3470 password_reset_email = email.val(); 3471 $("#login-section .password-reset-confirmation-card").showElem(); 3472 $("#login-section .password-reset-card").hideElem(); 3473 } else { 3474 $("#login-section .password-reset-card #login-label").click(); 3475 $("#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); 3476 } 3477 3478 email.val(""); 3479 } else{ 3480 email.css("border", "1px solid #ea868f").siblings(".field-message").addClass("active").text(data.message); 3481 } 3482 }, 3483 error: function(){ 3484 _this.text("Continue").prop("disabled", false); 3485 email.prop("disabled", false); 3486 $("#login-section .password-reset-card #login-label").removeClass("disabled"); 3487 $("#login-section .password-reset-card #login-label").click(); 3488 $("#login-section .login-card .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3489 } 3490 }); 3491 }); 3492 3493 3494 $("#login-section .customer-details-card .slider li button").click(function(){ 3495 if($(this).hasClass("previous")){ 3496 var account_header = {"first":"Create Account", "second":"Fill your delivery details", "third":"Profile"}; 3497 $("#login-section .customer-details-card .slider li button").removeClass("active"); 3498 var position = $(this).removeClass("previous").attr("class"); 3499 $(this).addClass("active").parent().nextAll().find("button").removeClass("previous"); 3500 $("#login-section .customer-details-card .create-account [class^=account-]:not([class*='account-header'])").hideElem(); 3501 $("#login-section .customer-details-card .create-account .account-"+position).showElem(); 3502 $("#login-section .customer-details-card .create-account .account-header h3").text(account_header[position]); 3503 $("#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); 3504 3505 if(position == "first"){ 3506 createAccountRenderSize(); 3507 $("#login-section .customer-details-card .create-account .btn-skip").hideElem(); 3508 } 3509 } 3510 3511 return false; 3512 }); 3513 3514 $("#login-section .customer-details-card #login-label").click(function(){ 3515 if(!$(this).hasClass("disabled")){ 3516 $("#login-section .login-card").showElem(); 3517 hide_customer_form(); 3518 $("#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(""); 3519 hide_login_errors(); 3520 } 3521 }); 3522 3523 $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){ 3524 if(event.target.name == "business_name"){ 3525 $(this).val($(this).val().replace(/[^a-zA-Z-'& ]/gi, '')); 3526 } else{ 3527 $(this).val($(this).val().replace(/[^a-zA-Z-' ]/gi, '')); 3528 } 3529 }); 3530 3531 $("#login-section .login-card .login-with").click().remove(); 3532 $("#login-section .login-card #phone-number-form").remove(); 3533 3534 $("#login-section .customer-details-card .btn-2-block").click(function(){ 3535 var _this = $(this), 3536 valid = false;
3537 3538 if(_this.hasClass("first")){ 3539 if(validate_form($("#login-section .customer-details-card #create-account"))){ 3540 _this.prop("disabled", true); 3541 var validate_phone = check_customer($("#login-section .customer-details-card #register-phone")); 3542 var validate_email = check_customer($("#login-section .customer-details-card [name='email']")); 3543 3544 $.when(validate_phone, validate_email).done(function(rp, re){ 3545 var phone_resp = (rp && typeof rp[0] === 'string') ? JSON.parse(rp[0]) : rp[0]; 3546 var email_resp = (re && typeof re[0] === 'string') ? JSON.parse(re[0]) : re[0]; 3547 if( 3548 typeof rp[1] !== "undefined" && rp[1] == "success" && typeof phone_resp.isError && phone_resp.isError !== true && 3549 typeof re[1] !== "undefined" && re[1] == "success" && typeof email_resp.isError && email_resp.isError !== true 3550 ){ 3551 if(typeof $("#login-section .customer-details-card #register-phone").data('registerwith') !== "undefined"){ 3552 $.ajax({ 3553 type: "POST", 3554 url: "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3555 data: "registerwith=applesigninnewlogin&phoneNumber="+$("#login-section .customer-details-card #register-phone").val().replace(/\s/g, ""), 3556 success: function(data){ 3557 var json = JSON.parse(data); 3558 3559 if(typeof json.isError !== "undefined" && json.isError === true){ 3560 if(json.errorCode == "existing_phone_number"){ 3561 $("#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?"); 3562 $("#login-section .existing-phone-card #register-apple-update").css("display", ""); 3563 $("#login-section .existing-phone-card #register-apple-cancel").addClass("btn-primary-inverted").text("No"); 3564 } else{ 3565 $("#login-section .existing-phone-card .existing-message").text(json.errorMessage); 3566 $("#login-section .existing-phone-card #register-apple-update").css("display", "none"); 3567 $("#login-section .existing-phone-card #register-apple-cancel").removeClass("btn-primary-inverted").text("OK"); 3568 } 3569 $("#login-section .customer-details-card").hideElem().next().showElem(); 3570 _this.prop("disabled", false); 3571 3572 return false; 3573 } 3574 3575 if($("#current_order_type_holder").val() == "pickup"){ 3576 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active"); 3577 $("#login-section .customer-details-card .slider li button.third").addClass("active"); 3578 $("#login-section .customer-details-card .create-account .account-header h3").text("Profile"); 3579 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().hideElem(); 3580 $("#login-section .customer-details-card .create-account .account-third").showElem(); 3581 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("third"); 3582 } else{ 3583 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3584 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 3585 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 3586 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3587 } 3588 3589 if((typeof window.login_referer
3589!== "undefined" && window.login_referer != "checkout" && window.login_referer != 'catering') || $("#current_order_type_holder").val() == "pickup"){ 3590 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3591 } 3592 3593 _this.removeClass("first").addClass("second"); 3594 } 3595 }); 3596 } else{ 3597 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"){ 3598 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3599 _this.removeClass("first").addClass("second"); 3600 3601 setTimeout(function(){ 3602 $("#login-section .customer-details-card .create-account .btn-skip").click(); 3603 }, 300); 3604 } else{ 3605 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3606 $("#login-section .customer-details-card .create-account .account-header h3").text("Fill your delivery details"); 3607 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().showElem(); 3608 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("first").addClass("second"); 3609 3610 if(typeof window.login_referer !== "undefined" && window.login_referer != "checkout" || $("#current_order_type_holder").val() == "pickup"){ 3611 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3612 } 3613 3614 _this.removeClass("first").addClass("second"); 3615 } 3616 } 3617 } 3618 3619 _this.prop("disabled", false); 3620 }); 3621 } 3622 } else if(_this.hasClass("second")){ 3623 if(skip_reg){ 3624 skip_reg = false; 3625 valid = true; 3626 } else if(validate_form($("#login-section .customer-details-card #create-account"))){ 3627 valid = true; 3628 } 3629 3630 if(valid){ 3631 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"){ 3632 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second").addClass("third"); 3633 _this.removeClass("second").addClass("third"); 3634 3635 setTimeout(function(){ 3636 if($("#current_order_type_holder").val() == "pickup"){ 3637 $("#login-section .customer-details-card .create-account .btn-skip").click(); 3638 } else{ 3639 _this.click(); 3640 } 3641 }, 300); 3642 } else{ 3643 $("#login-section .customer-details-card .create-account .account-header h3").text("Profile"); 3644 $("#login-section .customer-details-card .create-account .btn-skip").removeClass("second").addClass("third"); 3645 if($("#current_order_type_holder").val() == "pickup"){ 3646 $("#login-section .customer-details-card .create-account .btn-skip").showElem(); 3647 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active"); 3648 $("#login-section .customer-details-card .slider li button.third").addClass("active"); 3649 $("#login-section .customer-details-card .create-account .account-first").hideElem().next().hideElem(); 3650 $("#login-section .customer-details-card .create-account .account-third").showElem(); 3651 } else{ 3652 $("#login-section .customer-details-card .slider li button.active").addClass("previous").removeClass("active").parent().next("li").find("button").addClass("active"); 3653 $("#login-section .customer-details-card .create-account .account-second").hideElem().next().showElem(); 3654 } 3655 _this.removeClass("second").addClass("third"); 3656 } 3657 } 3658 } else if(_this.hasClass("third")){ 3659 _this.html("Please wait...").prop("disabled", true); 3660 $("#login-section .customer-details-card .create-account .btn-skip, #login-section .customer-details-card #login-label, #login-section .customer-details-card .close").addClass("disabled"); 3661 3662 var data = {}, 3663 signup_email = {}; 3664 $("#login-section .customer-details-card #create-account").find("[name]").each(function(){ 3665 var name = $(this).attr("name"); 3666 var value = ($(this).val() != null) ? $(this).val() : ""; 3667 3668 if(typeof $(this).attr("type") !== "undefined" && $(this).attr("type") != "password"){ 3669 value = $('<div>').text(value).html(); 3670 } 3671 3672 if(name == "firstName" || name == "surname"){ 3673 value = $.trim(value); 3674 signup_email[(name == "firstName" ? 'customer_fname' : 'customer_lname')] = value; 3675 } else if (name === 'email') { 3676 signup_email['customer_email'] = value; 3677 } else if (name === 'customer_marketing_material') { 3678 value = $(this).is(':checked') ? 1 : 0; 3679 } 3680 else if(name == "phoneNumber"){ 3681 value = registerPhoneInt.getNumber(); // always pass E.164 format 3682 data["phone_number"] = value; 3683 } 3684 3685 if($(this).is(":disabled") == false){ 3686 data[name] = value; 3687 } 3688 3689 if($(this).is(":visible") && !$(this).is(":disabled")){ 3690 $(this).prop("disabled", true); 3691 } 3692 }); 3693 3694 if(_this.data("login-type") === undefined || _this.data("login-type") !== "guest"){ 3695 data["remember_me"] = true; 3696 data["register"] = "new"; 3697 } else{ 3698 data["guest"] = 1; 3699 data["guest_no_register"] = 1; 3700 3701 delete data.password; 3702 } 3703 data["login_referer"] = window.login_referer; 3704 3705 if(typeof $("#login-section .customer-details-card #register-phone").data("registerwith") !== "undefined" && $("#login-section .customer-details-card #register-phone").data("registerwith") == "applesignin"){ 3706 data["apple_user_id"] = data.password ?? ""; 3707 } 3708 3709 var ajaxUrl = "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3710 cognitoRegister = false;
3711 3712 3713 $.ajax({ 3714 type: "POST", 3715 url: ajaxUrl, 3716 data: data, 3717 success: function(data){ 3718 var resp, cart_total = 0; 3719 try{ 3720 resp = JSON.parse(data); 3721 cart_total = (resp.cart_total != undefined) ? resp.cart_total : 0; 3722 3723 cart_total = 1; 3724 } catch(e){ 3725 cart_total = 0; 3726 3727 if(window.login_referer == "checkout" && (_this.data("login-type") !== undefined && _this.data("login-type") === "guest")){ 3728 cart_total = 1; 3729 } 3730 } 3731 3732 if (cognitoRegister) { 3733 $("#login-section .customer-details-card").hideElem(); 3734 $("#login-section .otp-card").showElem(); 3735 $("#login-section .otp-card .resend-code").addClass("disabled"); 3736 $("#login-section .otp-card .login-modal-header").remove(); 3737 resend_countdown("login-section .otp-card .resend-code"); 3738 $("#login-section .otp-card .otp-phone").html(resp.phone_number); 3739 } else{ 3740 finalizeSignupFlow(_this, resp, signup_email, cart_total); 3741 } 3742 } 3743 }); 3744 } else if(_this.hasClass("update-address")){ 3745 if(validate_form($("#login-section .customer-details-card #create-account"))){ 3746 _this.html("Please wait...").prop("disabled", true); 3747 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", true); 3748 3749 var current_address = $("#login-section .customer-details-card #create-account #register-st-name").val().split(", "); 3750 var current_street = (typeof current_address[0] !== "undefined") ? current_address[0] : ""; 3751 var current_suburb = (typeof current_address[1] !== "undefined") ? current_address[1] : ""; 3752 var check_street = $.ajax({ 3753 url: "https://api2.dsoftonline.com.au/do/check_street/1288/"+current_street+"/"+current_suburb, 3754 success: function(data){ 3755 } 3756 }); 3757 3758 $.when(check_street).done(function(cs){ 3759 if(cs.response_code == "00"){ 3760 var data = {}; 3761 $("#login-section .customer-details-card #create-account").find(".form-control:visible").each(function(){ 3762 var name = $(this).attr("name"); 3763 var value = ($(this).val() != null) ? $(this).val() : ""; 3764 3765 if($(this).is(":disabled") == false){ 3766 data[name] = value; 3767 } 3768 }); 3769 data["update_info"] = "address_only"; 3770 3771 $.ajax({ 3772 type: "POST", 3773 url: "https://doughboyz.com.au/core/ajax/save_customer_details.php", 3774 data: data, 3775 success: function(data){ 3776 window.location.href = "?page=checkout"; 3777 triggerBeginCheckoutTracking(); 3778 } 3779 }); 3780 } else{ 3781 _this.html("Continue").prop("disabled", false); 3782 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", false); 3783 $("#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); 3784 } 3785 }); 3786 } 3787 } 3788 3789 return false;
3790 }); 3791 3792 $("#login-section .existing-phone-card #register-apple-update").click(function(){ 3793 $("#login-section .existing-phone-card .btn-primary").prop("disabled", true); 3794 var phone = $("#login-section .customer-details-card #register-phone"); 3795 3796 $.ajax({ 3797 type: "POST", 3798 url: "https://doughboyz.com.au/core/ajax/resend-otp.php", 3799 data: { 'phone': phone.val().replace(/\s/g, "") }, 3800 success: function(data){ 3801 var resp = jQuery.parseJSON(data); 3802 3803 $("#login-section .existing-phone-card").hideElem(); 3804 $("#login-section .otp-card .btn-2-block").data("registerwith", "applesignin"); 3805 $("#login-section .otp-card").showElem(); 3806 3807 if(resp.type != "success"){ 3808 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text(data.message).showElem().hideMsg(5); 3809 } else{ 3810 $("#login-section .otp-card .otp-box .alert").addClass("alert-success").text("A new verification code has been sent").showElem().hideMsg(5); 3811 $("#login-section .otp-card .resend-code").addClass("disabled"); 3812 resend_countdown("login-section .otp-card .resend-code"); 3813 $("#login-section .otp-card .otp-phone").html(phone.val()); 3814 3815 customer_exist = false; 3816 customer_phone = phone.val().replace(/\s/g, ""); 3817 start_otp_input(); 3818 } 3819 3820 $("#login-section .existing-phone-card .btn-primary").prop("disabled", false); 3821 }, 3822 error: function(){ 3823 $("#login-section .otp-card .otp-box .alert").addClass("alert-danger").text("Unable to Process your request. Please try again later").showElem().hideMsg(5); 3824 $("#login-section .existing-phone-card .btn-primary").prop("disabled", false); 3825 } 3826 }); 3827 }); 3828 3829 $("#login-section .existing-phone-card #register-apple-cancel").click(function(){ 3830 $("#login-section .existing-phone-card").hideElem().prev().showElem(); 3831 }); 3832 3833 $("#login-section .customer-details-card .btn-2-block + .btn-primary").live('click', function(){ 3834 if(!$(this).hasClass("disabled")){ 3835 $("#login-section .customer-details-card .btn-2-block").prop("disabled", true); 3836 $("#login-section .customer-details-card .btn-2-block + .btn-primary").prop("disabled", true).html("Please wait..."); 3837 location.href = location.href 3838 } 3839 }); 3840 3841 $("#login-section .customer-details-card .create-account .btn-skip").click(function(){ 3842 if(!$(this).hasClass("disabled")){ 3843 if($("#login-section .customer-details-card .btn-2-block").hasClass("second")){ 3844 skip_reg = true; 3845 $("#login-section .customer-details-card #create-account .account-second input.form-control").val(""); 3846 $("#login-section .customer-details-card #create-account .account-second select.form-control").empty(); 3847 $("#login-section .customer-details-card .btn-2-block").click(); 3848 } else if($("#login-section .customer-details-card .btn-2-block").hasClass("third")){ 3849 $("#login-section .customer-details-card #create-account .account-third input.form-control").val(""); 3850 $("#login-section .customer-details-card #create-account .account-third select.form-control").each(function(){ 3851 $(this).prop("selectedIndex", 0); 3852 }); 3853 $("#login-section .customer-details-card .btn-2-block").click(); 3854 } 3855 } 3856 }); 3857 3858 $("#login-section .customer-details-card #create-account .form-control.required").keyup(function(){ 3859 var invalid = false, 3860 _this = $(this); 3861 3862 if(_this.data("state") == "submitted"){ 3863 if($.trim(_this.val())==""){ 3864 _this.closest(".form-group").find("label.error").text("This field is required").showElem(); 3865 return true 3866 } 3867 3868 if(_this.attr("name") == "email"){ 3869 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 3870 if(!regex.test(_this.val())){ 3871 _this.closest(".form-group").find("label.error").text("Please enter a valid email address").showElem(); 3872 return true; 3873 } 3874 } 3875 3876 if(_this.attr("name") == "phoneNumber"){ 3877 if(check_phone(_this.val(), true)){ 3878 _this.closest(".form-group").find("label.error").text("Please enter a valid phone number").showElem(); 3879 return true; 3880 } 3881 } 3882 3883 if(_this.attr("name") === "password"){ 3884 if(_this.val().length < 6){ 3885 _this.closest(".form-group").find("label.error").text("Please enter at least 6 characters").showElem(); 3886 return true; 3887 } 3888 } 3889 3890 if(_this.attr("name") === "retypePassword"){ 3891 confirm_pass = _this.val(); 3892 if($("#login-section .customer-details-card #create-account input[name='password']").val() !== confirm_pass){ 3893 _this.closest(".form-group").find("label.error").text("Passwords do not match").showElem(); 3894 return true 3895 } 3896 } 3897 3898 _this.closest(".form-group").find("label.error").hideElem().text(""); 3899 } 3900 }); 3901 3902 $j("#login-section .customer-details-card #register-st-name").select2({ 3903 placeholder: 'Select your Street', 3904 width: '100%', 3905 ajax: { 3906 url: 'https://doughboyz.com.au/core/ajax/find_streets.php', 3907 dataType: 'json', 3908 delay: 250, 3909 processResults: function(data){ 3910 var select2Data = $.map(data, function (obj){ 3911 obj.id = obj.street; 3912 obj.text = obj.street; 3913 return obj; 3914 }); 3915 3916 return { 3917 results: select2Data 3918 }; 3919 }, 3920 cache: false 3921 }, 3922 language: { 3923 noResults: function(){ 3924 return "Street not found."; 3925 } 3926 }, 3927 minimumInputLength: 2, 3928 templateResult: function(data){ 3929 return data.street; 3930 } 3931 }).on("select2:close", function(e){ 3932 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.glyphicon-ok").remove(); 3933 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.glyphicon-remove").remove(); 3934 $("#login-section .customer-details-card #register-st-name").closest(".form-group").find("span.help-block").remove(); 3935 }); 3936 3937 $j(window).on('resize', function(){ 3938 if($("#login-section .customer-details-card .create-account .account-first").is(":visible")){ 3939 createAccountRenderSize(); 3940 } 3941 }); 3942 3943 createAccountRenderSize(); 3944 3945 $j('input[name="email"]').on('input', function() { 3946 const trimmedValue = $(this).val().trim(); 3947 $(this).val(trimmedValue); 3948 }); 3949 }); 3950</script>
3950 3951<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/intl-tel-input@latest/build/css/intlTelInput.css"> 3952 <div class="login-card"> 3953 <div class="row"> 3954 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 3955 <div id="login-label"> 3956 <h3>What's your mobile number?</h3> 3957 </div> 3958 <div> 3959 <i class="close fa-solid fa-xmark"></i> 3960 </div> 3961 </div> 3962 <div class="col-lg-12 col-md-12 col-sm-12"> 3963 <div role="alert" class="alert" style="display:none;"></div> 3964 <div id="phone-number-form" class="form-group"> 3965 <input type="text" id="login-phone" name="login-phone" class="form-control login" autocomplete="off" placeholder="Enter your mobile number"/> 3966 <div class="field-message"></div> 3967 </div> 3968 <div id="email-form" style="display:none;"> 3969 <div class="form-group"> 3970 <input type="text" id="login-email" name="login-email" class="form-control login" value="" placeholder="Enter your email or mobile number"/> 3971 <input class="form-control login" type="text" id="login-mobile" name="login-mobile" style="display:none;"/> 3972 <div class="field-message"></div> 3973 </div> 3974 <div class="form-group"> 3975 <input type="password" id="login-pass" name="login-pass" class="form-control login" value="" placeholder="Enter your password"/> 3976 <div class="field-message"></div> 3977 </div> 3978 </div> 3979 <div> 3980 <div class="forgot-password" style="display:none;">Forgot Password?</div> 3981 <div class="login-with password">Login with Password</div> 3982 <div class="sign-up">Sign Up</div> 3983 </div> 3984 <div> 3985 <button class="btn-2-block btn btn-primary mobile">Login or Sign Up</button> 3986 3987 <button class="btn-guest-checkout btn btn-primary">Checkout as Guest</button> 3988 </div> 3989 </div> 3990 <div class="or-login-container col-lg-12 col-md-12 col-sm-12"> 3991 <div class="or-login-line"> 3992 <h4 class="or-login-with"><span>or login with</span></h4> 3993 </div> 3994 </div> 3995 <div class="col-lg-12 col-md-12 col-sm-12"> 3996 <div class="disable-social"></div> 3997 <div id='fb-login'>
3997<script> 3998 $(document).ready(function(){ 3999 callFB(); 4000 }); 4001 4002 function login_ios_fullscreen(){ 4003 var permissions = 'email,publish_actions,manage_pages,read_stream'; 4004 var m_appId = '1275419957063274'; 4005 var m_appUrl = 'https://doughboyz.com.au/'; 4006 var permissionUrl = "https://m.facebook.com/dialog/oauth?client_id=" + m_appId + "&response_type=code&redirect_uri=" +encodeURIComponent(m_appUrl)+ "&scope=" + permissions; 4007 window.location = permissionUrl; 4008 } 4009 4010 function callFB(){ 4011 window.fbAsyncInit = function() { 4012 FB.init({ 4013 appId : '1275419957063274', 4014 channelUrl : '//WWW.https://www.facebook.com/DoughBoyz.com.au//channel.php', 4015 status : true, 4016 cookie : true, 4017 xfbml : true, 4018 oauth : true, 4019 version : 'v8.0' 4020 }); 4021 }; 4022 4023 (function(d){ 4024 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 4025 js = d.createElement('script'); js.id = id; js.async = true; 4026 d.getElementsByTagName('head')[0].appendChild(js); 4027 js.src = "//connect.facebook.net/en_US/sdk.js"; 4028 }(document)); 4029 4030 } 4031 4032 //LOGIN FUNCTION 4033 function login() { 4034 FB.login(function(response) { 4035 if (response.authResponse) { 4036 var access_token = response.authResponse.accessToken; //get access token 4037 var user_id = response.authResponse.userID; //get FB UID 4038 4039 FB.api('/me', 'get', { access_token: access_token, fields: 'id,first_name,last_name,email' }, function(response) { 4040 if(typeof response.email === "undefined"){ 4041 showModalAlert('warning', '', 'Please provide a valid Facebook email to progress or continue to signup with your Google account.', 'OK'); 4042 } else{ 4043 response.access_token = access_token; 4044 login_fb(response); 4045 $("#fb-login-new").html('<fb:facepile> </fb>'); 4046 FB.XFBML.parse(document.getElementById('fb-login-new')); 4047 } 4048 }); 4049 4050 }else{ 4051 showModalAlert('error', '', 'Login Failed!', 'OK'); 4052 } 4053 }, {scope: 'email', redirect_uri:'https://doughboyz.com.au/',display : 'touch' }); 4054 } 4055 4056 function login_fb(response){ 4057 4058 var email = response.email; 4059 var id = response.id; 4060 var firstName = response.first_name; 4061 var surname = response.last_name; 4062 var access_token = response.access_token; 4063 4064 $.post('core/ajax/login.php', { email: email, fb_user_id: id, access_token: access_token, login_referer: window.login_referer}, function(msg){ 4065 var name; 4066 4067 if($.trim(msg) != 'null'){ 4068 var obj = jQuery.parseJSON(msg); 4069 name = obj.firstName+' '+obj.surname; 4070 $("#deliveryStreet").value = obj.deliveryStreetSuburb; 4071 } 4072 if(obj.response_code == '00'){ 4073 if(obj.no_address){ 4074 update_address(obj); 4075 } else{ 4076 if(window.login_referer == 'navbar' || window.login_referer == 'checkout'){ 4077 if(window.login_referer == 'navbar'){ 4078 // login is via clicking login on navbar 4079 window.location.href = '?page='; 4080 } 4081 if(window.login_referer == 'checkout'){ 4082 //login is via clicking checkout on floatbox 4083 window.location.href = '?page=checkout'; 4084 } 4085 }else if(window.login_referer == 'beercheckout'){ 4086 //redirect to beer2u 4087 window.location = ''; 4088 }else{ 4089 // default. if login_referer is undefined 4090 // OOA-1284: Check if page is browse and template is platina. Anchor user to store details 4091 // Add condition for check if the (storeSelected) is exist (storeSelected only appears on Template4) 4092 var anchor = ( ($("#storeSelected").length > 0) ? '#store-data' : ''); 4093 window.location.href = '?page=browse' + anchor; 4094 4095 } 4096 } 4097 }else{ 4098 if(!$("#login-wrap").is(":visible")){ 4099 $("#login-wrap").fadeToggle("fast"); 4100 } 4101 4102 $("#login-section .login-card").hideElem(); 4103 $("#login-section .customer-details-card [name='password']").val(''); 4104 $("#login-section .customer-details-card .password-wrapper").removeClass("cover").showElem(); 4105 $("#login-section .customer-details-card").showElem(); 4106 $("#login-section .customer-details-card #login-label").parent().showElem(); 4107 $("#login-section .customer-details-card #register-phone").removeAttr("readonly"); 4108 $("#login-section .customer-details-card [name='email']").val(email).prop("readonly", true); 4109 $("#login-section .customer-details-card [name='firstName']").val(firstName); 4110 $("#login-section .customer-details-card [name='surname']").val(surname); 4111 $("#login-section .customer-details-card [name='fb_user_id']").val(id); 4112 4113 if($("#current_order_type_holder").val() == "pickup"){ 4114 $("#login-section .customer-details-card .slider li").eq(1).hideElem(); 4115 } 4116 } 4117 }); 4118 } 4119</script>
4119 4120 <!-- <fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button>--> 4121 <div onclick="login();" id='fb-login2'> 4122 <div> 4123 <span id="fb-login-new"></span> 4124 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/facebook-16.png"/> 4125 Continue with Facebook 4126 </div> 4127</div> 4128<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> 4129 <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> 4130
4130<script> 4131 document.getElementsByClassName("g_id_signin")[0].setAttribute("data-width", (window.innerWidth > 440 ? "400" : (window.innerWidth - 40))); 4132 </script>
4132 4133 </div> 4134 </div> 4135 </div> 4136 <div class="password-reset-card" style="display:none;"> 4137 <div class="row"> 4138 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 4139 <div id="login-label"> 4140 <i class="fa-solid fa-chevron-left"></i> 4141 </div> 4142 <div> 4143 <i class="close fa-solid fa-xmark"></i> 4144 </div> 4145 </div> 4146 <div class="col-lg-12 col-md-12 col-sm-12"> 4147 <div> 4148 <i class="fa-solid fa-unlock-keyhole"></i> 4149 <span>Password Reset</span> 4150 <span>Enter the registered email. We will send you a verification code to reset your password</span> 4151 </div> 4152 </div> 4153 <div class="col-lg-12 col-md-12 col-sm-12"> 4154 <div class="form-group"> 4155 <input type="text" id="forgot-email" name="forgot-email" class="form-control login" autocomplete="off" placeholder="Please enter a valid email" value="" /> 4156 <div class="field-message"></div> 4157 </div> 4158 </div> 4159 <div class="col-lg-12 col-md-12 col-sm-12"> 4160 <div> 4161 <button class="btn-2-block btn btn-primary">Continue</button> 4162 </div> 4163 </div> 4164 </div> 4165 </div> 4166 <div class="otp-card" style="display:none;"> 4167 <div class="row"> 4168 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12"> 4169 <div id="login-label"> 4170 <i class="fa-solid fa-chevron-left"></i> 4171 </div> 4172 <div> 4173 <i class="close fa-solid fa-xmark"></i> 4174 </div> 4175 </div> 4176 <div class="col-lg-12 col-md-12 col-sm-12"> 4177 <div> 4178 <i class="fa-regular fa-comment"></i> 4179 <span>Enter the 6-digit verification code sent to you at <span class="otp-phone"></span></span> 4180 </div> 4181 </div> 4182 <div class="otp-box col-lg-12 col-md-12 col-sm-12"> 4183 <div class="alert" style="display:none;"></div> 4184 <div id="otp-box" class="form-group"> 4185 <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);"/> 4186 <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);"/> 4187 <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);"/> 4188 <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);"/> 4189 <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);"/> 4190 <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);"/> 4191 </div> 4192 </div> 4193 <div class="col-lg-12 col-md-12 col-sm-12"> 4194 <div>Did not receive a code? <span class="resend-code">Resend code</span></div> 4195 <div> 4196 <button class="btn-2-block btn btn-primary" disabled>Continue</button> 4197 </div> 4198 </div> 4199 </div> 4200 </div> 4201<div class="customer-details-card" style="display:none;"> 4202 <div class="row"> 4203 <div class="login-modal-header col-lg-12 col-md-12 col-sm-12" style="display:none;"> 4204 <div id="login-label"> 4205 <i class="fa-solid fa-chevron-left"></i> 4206 </div> 4207 <div> 4208 <i class="close fa-solid fa-xmark"></i> 4209 </div> 4210 </div> 4211 <div class="slider col-lg-12 col-md-12 col-sm-12"> 4212 <li><button class="first active"></button></li> 4213 <li><button class="second"></button></li> 4214 <li><button class="third"></button></li> 4215 </div> 4216 <div class="create-account"> 4217 <form id="create-account" name="create-account"> 4218 <input type="hidden" name="fb_user_id" value=""> 4219 <div class="alert" style="display:none; margin-bottom:0;"></div> 4220 <div class="account-header col-lg-12 col-md-12 col-sm-12"> 4221 <h3>Create Account</h3> 4222 </div> 4223 <div class="account-first"> 4224 <div class="col-lg-12 col-md-12 col-sm-12"> 4225 <div class="field-wrapper form-group"> 4226 <label class="label"> 4227 Mobile Number 4228 <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>
4229 <span class="required">*</span> 4230 </label> 4231 <input type="tel" id="register-phone" name="phoneNumber" readonly class="form-control required" pattern="/^[0-9\s]+$/" inputmode="numeric" value=""/> 4232 <label class="error" style="display:none;"></label> 4233 </div> 4234 </div> 4235 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4236 <div class="field-wrapper form-group"> 4237 <label class="label">First Name<span class="required">*</span></label> 4238 <input type="text" name="firstName" class="form-control required" value=""/> 4239 <label class="error" style="display:none;"></label> 4240 </div> 4241 </div> 4242 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4243 <div class="field-wrapper form-group"> 4244 <label class="label">Last Name<span class="required">*</span></label> 4245 <input type="text" name="surname" class="form-control required" value=""/> 4246 <label class="error" style="display:none;"></label> 4247 </div> 4248 </div> 4249 <div class="col-lg-12 col-md-12 col-sm-12"> 4250 <div class="field-wrapper form-group"> 4251 <label class="label">Email<span class="required">*</span></label> 4252 <input type="text" name="email" class="form-control required" maxlength="200" value=""/> 4253 <label class="error" style="display:none;"></label> 4254 </div> 4255 </div> 4256 <div class="password-wrapper" style="display:none;"> 4257 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4258 <div class="field-wrapper form-group"> 4259 <label class="label">Password<span class="required">*</span></label> 4260 <input type="password" name="password" class="form-control required" maxlength="64" value=""/> 4261 <label class="error" style="display:none;"></label> 4262 </div> 4263 </div> 4264 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 4265 <div class="field-wrapper form-group"> 4266 <label class="label">Confirm Password<span class="required">*</span></label> 4267 <input type="password" name="retypePassword" class="form-control required" maxlength="64" value=""/> 4268 <label class="error" style="display:none;"></label> 4269 </div> 4270 </div> 4271 </div> 4272 <div class="col-lg-12 col-md-12 col-sm-12 customer-marketing-material-wrapper"> 4273 <div class="field-wrapper form-group"> 4274 <label for="customer_marketing_material" class="label" style="position: relative;"> 4275 <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> 4276 <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> 4277 </label> 4278 </div> 4279 </div> 4280 </div> 4281 <div class="account-second" style="display:none;"> 4282 <div class="col-lg-6 col-md-6 col-sm-6"> 4283 <div class="field-wrapper form-group"> 4284 <label class="label">Unit Number</label> 4285 <input type="text" name="unitNumber" class="form-control" autocomplete="off" maxlength="5" value=""/> 4286 </div> 4287 </div> 4288 <div class="col-lg-6 col-md-6 col-sm-6"> 4289 <div class="field-wrapper form-group"> 4290 <label class="label">House Number<span class="required">*</span></label> 4291 <input type="text" name="houseNumber" class="form-control required" autocomplete="off" maxlength="5" value=""/> 4292 <label class="error" style="display:none;"></label> 4293 </div> 4294 </div> 4295 <div class="col-lg-12 col-md-12 col-sm-12"> 4296 <div class="field-wrapper form-group"> 4297 <label class="label">Street Name<span class="required">*</span></label> 4298 <select id="register-st-name" name="deliveryStreet" class="form-control required select2"></select> 4299 <label class="error" style="display:none;"></label> 4300 </div> 4301 </div> 4302 <div class="col-lg-12 col-md-12 col-sm-12"> 4303 <div class="field-wrapper form-group"> 4304 <label class="label">Delivery Instructions</label> 4305 <input type="text" name="deliveryInstructions" class="form-control" autocomplete="off" maxlength="255" value=""/> 4306 </div> 4307 </div> 4308 </div> 4309 <div class="account-third" style="display:none;"> 4310 <div class="col-lg-6 col-md-6 col-sm-6"> 4311 <div class="field-wrapper form-group"> 4312 <label class="label">Age</label> 4313 <select class="form-control" name="age"> 4314 <option value="">- Select Age -</option> 4315 <option value="18-24">18 - 24</option> 4316 <option value="25-34">25 - 34</option> 4317 <option value="35-44">35 - 44</option> 4318 <option value="45-54">45 - 54</option> 4319 <option value="55-64">55 - 64</option> 4320 <option value="65+">65+</option> 4321 </select> 4322 </div> 4323 </div> 4324 <div class="col-lg-6 col-md-6 col-sm-6"> 4325 <div class="field-wrapper form-group"> 4326 <label class="label">Gender</label> 4327 <select class="form-control" name="gender"> 4328 <option value="">- Select Gender -</option> 4329 <option>
4329Male</option> 4330 <option>Female</option> 4331 <option>Other</option> 4332 </select> 4333 </div> 4334 </div> 4335 <div class="col-lg-12 col-md-12 col-sm-12"> 4336 <div class="field-wrapper form-group"> 4337 <label class="label">Business Name</label> 4338 <input type="text" name="business_name" class="form-control" value=""/> 4339 </div> 4340 </div> 4341 <div class="col-lg-12 col-md-12 col-sm-12"> 4342 <div class="field-wrapper form-group"> 4343 <label class="label">How did you hear about us?</label> 4344 <select class="form-control" id="register-hear" name="hear_about_us"> 4345 <option value="">- Select Option -</option> 4346 <option value="google">Google</option> 4347 <option value="word of mouth">Word of Mouth</option> 4348 <option value="print">Print</option> 4349 <option value="facebook">Facebook</option> 4350 <option value="instagram">Instagram</option> 4351 <option value="other social media">Other Social Media</option> 4352 <option value="radio">Radio</option> 4353 <option value="tv">TV</option> 4354 <option value="sms">SMS</option> 4355 <option value="email">Email</option> 4356 </select> 4357 </div> 4358 </div> 4359 </div> 4360 <div class="col-lg-12 col-md-12 col-sm-12"> 4361 <div> 4362 <button type="button" class="btn-2-block btn btn-primary first">Continue</button> 4363 <p class="btn-skip first" style="display:none;">Skip for now</p> 4364 </div> 4365 </div> 4366 </form> 4367 </div> 4368 </div> 4369</div> 4370<div class="existing-phone-card" style="display:none;"> 4371 <div class="row"> 4372 <div class="existing-phone-header col-lg-12 col-md-12 col-sm-12"> 4373 <h3>Phone Number</h3> 4374 </div> 4375 <div class="col-lg-12 col-md-12 col-sm-12"> 4376 <div class="existing-message"></div> 4377 <div> 4378 <button type="button" id="register-apple-cancel" class="btn btn-primary btn-primary-inverted">No</button> 4379 <button type="button" id="register-apple-update" class="btn btn-primary">Yes</button> 4380 </div> 4381 </div> 4382 </div> 4383</div> </div> 4384</div> 4385 <div id="wrap" class="row-offcanvas row-offcanvas-right"> 4386 <nav class="navbar navbar-inverse navbar-fixed-top" id="main-nav" role="navigation"> 4387 <div class="container"> 4388 <div class="toggle-left"> 4389 <div></div> 4390 <div></div> 4391 <div></div> 4392 </div> 4393 <nav id="left-nav"> 4394 <div id="store-nav"> 4395 <span id='nav_profile_pic'> 4396 <h4><b><center>Welcome to</center></b></h4><span><b><center>Dough Boyz</center></b></span> </span> 4397 </div> 4398 <ul> 4399 <li class="move-nav"><a href="#landing"><span class="glyphicon glyphicon-home"></span><span class="nav-text"> Home</span></a></li> 4400 <li class="move-nav"><a href="#store-data"><span class="glyphicon glyphicon-cutlery"></span><span class="nav-text"> Menu</span></a></li> 4401 <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> 4402 4403 4404 <li class="nav-list"><a href="#" data-toggle="modal" data-target="#showmapmodal"><span class="glyphicon glyphicon-map-marker"></span> Store Location</a></li> 4405 <li class="nav-list"><a href="?page=terms"><span class="glyphicon glyphicon-info-sign"></span> Terms</a></li> 4406 <li class="nav-list"><a href="?page=privacy"><span class="glyphicon glyphicon-eye-close"></span> Privacy</a></li> 4407 <li class="nav-list"><a href="?page=feedback"><span class="glyphicon glyphicon-send"></span> Feedback</a></li> 4408 </ul> 4409 </nav> 4410 4411 <ul id="navbar-header" class="nav navbar-nav navbar-left"> 4412 <li class="move-nav"><a href="#landing"><span class="nav-text">Home</span></a></li> 4413 <li class="move-nav"><a href="#store-data" ><span class="nav-text">Menu</span></a></li> 4414 <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> 4415 <ul id="navbar-header" class="nav navbar-nav navbar-right"> 4416 <li id="navbar-right-download-app" style="text-transform: capitalize;cursor: pointer;"> 4417 <i class="fa-solid fa-mobile-screen-button" style="margin-right: 5px;"></i><span> Download App</span> 4418 </li> 4419 <div id="app-popup" style="display:none;"> 4420 <span class="app-text">Download app from:</span> 4421 <div class="dl-app-icon"> 4422 <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> 4423 <span class="img-phone"> 4424 <span class="phone-text">or scan this QR:</span> 4425 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/phone-half.png" style="width:200
4425px;"> 4426 <span id="qrcode"> 4427 <img/> 4428 </span> 4429 </span> 4430 </div> 4431 4432
4432<script src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/qrcode.js"></script>
4432 4433
4433<script> 4434 $(document).ready(function() { 4435 $('#navbar-right-download-app').click(function() { 4436 $('#app-popup').toggle(); 4437 }); 4438 4439 $(document).click(function(event) { 4440 if (!$(event.target).closest('#app-popup, #navbar-right-download-app').length) { 4441 $('#app-popup').hide(); 4442 } 4443 }); 4444 4445 // Settingup the position of the app-popup to align with navbar-right-download-app 4446 //for resizing the page 4447 $(window).resize(function() { 4448 $('#app-popup').css({ 4449 'left': ($('#navbar-right-download-app').offset().left - 180) + 'px', 4450 }); 4451 }); 4452 4453 //initial load 4454 $('#app-popup').css({ 4455 'left': ($('#navbar-right-download-app').offset().left - 180) + 'px', 4456 }); 4457 }); 4458 4459 var opts = { 4460 errorCorrectionLevel: 'M', 4461 type: 'image/jpeg', 4462 quality: 0.8, 4463 margin: 1, 4464 width: 150 4465 } 4466 4467 QRCode.toDataURL('https://doughboyz.com.au/?dlapp=true', opts, function (err, url) { 4468 if (err) throw err 4469 4470 $('.img-phone #qrcode img').attr({"data-src": "https://doughboyz.com.au/?dlapp=true", "src": url}); 4471 }); 4472 </script>
4472 4473 4474 <li id="navbar-right-ig-link"> 4475 <a href="https://www.instagram.com/doughboyz.com.au/" target="_blank"> 4476 <span class="glyphicon"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/instagram-square-brands.png"></span> 4477 </a> 4478 </li> 4479 <li id="navbar-right-fb-link"> 4480 <a href="https://www.facebook.com/DoughBoyz.com.au/" target="_blank"> 4481 <span class="glyphicon"><img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/facebook-square-brands.png"></span> 4482 </a> 4483 </li> 4484 <!-- OOA-258 Platina - Pop up letting customers know what store they are ordering from --> 4485 <li class="move-nav"> 4486 <a href="#store-data"> 4487 <i class="fa-solid fa-location-dot"></i> 4488 <span class="nav-text">Zuccoli</span> 4489 </a> 4490 </li> 4491 <li> 4492 <p tabindex="0" role="button" data-toggle="popover" id='login-nav'> 4493 <i class="fa-solid fa-user-circle"></i> 4494 <span id='signIn' class='signIn'>sign in</span> 4495 </p> 4496 </li> 4497 4498 <li id='show_cart'> 4499 <div class=view_cart> 4500 <i class="fa-solid fa-bag-shopping"></i> 4501 <span id='cartTotal' class='cartTotal'>$0.00</span> 4502 </div> 4503 </li> 4504 </ul> 4505 4506 </div> 4507 </nav> 4508 <div class="container mainpage"> 4509 </div> 4510 4511 <!-- FULL HEADER REMOVE --> 4512 4513<style> 4514 4515 #mobileSplide { 4516 display: none !important; 4517 padding: 0; 4518 } 4519 4520 #desktopSplide, 4521 #mobileSplide, 4522 #desktopSplide .splide__track, 4523 #mobileSplide .splide__track, 4524 #desktopSplide .splide__list, 4525 #mobileSplide .splide__list, 4526 #desktopSplide .splide__slide, 4527 #mobileSplide .splide__slide { 4528 width: 100%; 4529 height: 100%; 4530 } 4531 4532 #desktopSplide .splide__slide, 4533 #mobileSplide .splide__slide { 4534 background-position: center; 4535 background-repeat: no-repeat; 4536 background-size: cover; 4537 } 4538 4539 4540 </style> 4541 4542<div id="landing" class='landing-img'> 4543 4544
4545<script> 4546 document.addEventListener('DOMContentLoaded', function () { 4547 var desktopSplide = null; 4548 var mobileSplide = null; 4549 var resizeTimer = null; 4550 4551 var hasDesktopSlider = false; 4552 var hasMobileSlider = false; 4553 4554 var desktopSliderCount = 0; 4555 var mobileSliderCount = 0; 4556 4557 if (typeof Splide === 'undefined') { 4558 console.error('Splide is not loaded.'); 4559 return; 4560 } 4561 4562 function getSliderConfig(sliderCount) { 4563 return { 4564 type: sliderCount > 1 ? 'loop' : 'slide', 4565 autoplay: sliderCount > 1, 4566 interval: 5000, 4567 arrows: sliderCount > 1, 4568 perPage: 1, 4569 rewind: true, 4570 pagination: true, 4571 pauseOnHover: false, 4572 pauseOnFocus: false, 4573 speed: 2000, 4574 4575 breakpoints: { 4576 768: { 4577 speed: 1000, 4578 } 4579 } 4580 }; 4581 } 4582 4583 function destroyDesktopSlider() { 4584 if (desktopSplide) { 4585 desktopSplide.destroy(); 4586 desktopSplide = null; 4587 } 4588 } 4589 4590 function destroyMobileSlider() { 4591 if (mobileSplide) { 4592 mobileSplide.destroy(); 4593 mobileSplide = null; 4594 } 4595 } 4596 4597 function mountDesktopSlider() { 4598 if (!hasDesktopSlider) { 4599 return; 4600 } 4601 4602 if (!document.querySelector('#desktopSplide')) { 4603 return; 4604 } 4605 4606 if (!desktopSplide) { 4607 desktopSplide = new Splide('#desktopSplide', getSliderConfig(desktopSliderCount)).mount(); 4608 } 4609 } 4610 4611 function mountMobileSlider() { 4612 if (!hasMobileSlider) { 4613 return; 4614 } 4615 4616 if (!document.querySelector('#mobileSplide')) { 4617 return; 4618 } 4619 4620 if (!mobileSplide) { 4621 mobileSplide = new Splide('#mobileSplide', getSliderConfig(mobileSliderCount)).mount(); 4622 } 4623 } 4624 4625 function initializeSlider() { 4626 var screenWidth = window.innerWidth; 4627 4628 if (screenWidth <= 480 && hasMobileSlider) { 4629 destroyDesktopSlider(); 4630 4631 requestAnimationFrame(function () { 4632 mountMobileSlider(); 4633 }); 4634 4635 return; 4636 } 4637 4638 destroyMobileSlider(); 4639 4640 requestAnimationFrame(function () { 4641 mountDesktopSlider(); 4642 }); 4643 } 4644 4645 initializeSlider(); 4646 4647 window.addEventListener('resize', function () { 4648 clearTimeout(resizeTimer); 4649 4650 resizeTimer = setTimeout(function () { 4651 initializeSlider(); 4652 }, 200); 4653 }); 4654 }); 4655</script>
4655 4656 <div class="container"> 4657 <div id="landing-content"> 4658 <div id="landing-logo"> 4659 <img src="https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png" alt="Dough Boyz Logo"> 4660 </div> 4661 <div id="landing-form"> 4662 <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. 4663 4664Edge-to-Edge pizza. No Boring Bits </p></div> 4665 <div id="form-text"></div> 4666 4667 <!-- OOA-1394 Order Now Store list Platina Feature --> 4668 4669 </div> 4670 </div> 4671 </div> 4672 </div> 4673 4674 <div id="store-data"> 4675 <div class="container"> 4676 <div id="store"> 4677 <!-- OOA-1394 Order Now Store list Platina Feature --> 4678 <div id="order-type-select" class="col-lg-6 col-lg-offset-3 col-sm-offset-2 col-sm-8" style="display:none;"> 4679 <p id="order-type-select-close" class="store-select2-close" style="">Ã</p> 4680 <div id="order-type-select-container"> 4681 <div id="store-select2-tag-line">Start ordering here</div> 4682 <div class="form-group"> 4683 <div class="input-group platina-input-group"> 4684 <div id="store-select2-form-text">Select your order type</div> 4685 <div class="btn-group btn-block btn-group-lg"> 4686 <button type="button" class="btn order-type-bt active header" value="pickup" id="order-type-bt-pickup">Pickup</button> 4687 <span>or</span> 4688 <button type="button" class="btn order-type-bt header" value="delivery" id="order-type-bt-delivery">Delivery</button> 4689 </div> 4690 </div> 4691 </div> 4692 </div> 4693 </div> 4694 4695 <!-- Display Suburb Search --> 4696 <!-- OOA-1026 Moved select suburb input field from the landing section to store data section --> 4697 <div id="store-select" class="col-md-6 col-md-offset-3 col-sm-12" style="display:none;"> 4698 <p id="store-select2-close" class="store-select2-close" style="">Ã</p> 4699 <div id="store-select-container"> 4700 <!-- Form Content --> 4701 <div id="store-select2-tag-line" style="text-align: center;">Start ordering here</div> 4702 <!-- Select2 --> 4703 <div class="form-group"> 4704 <div class="input-group platina-input-group"> 4705 <div class="nearest-location-btn"> 4706 <button id="getLocation" class="btn btn-default" type="button" data-select2-open="select2-button-addons-multi-input-group-lg"> 4707 <span class="glyphicon glyphicon-map-marker"></span> Click here to search for your nearest store 4708 </button> 4709 </div> 4710 <div id="store-select2-form-text" style="text-align: center;">Or use the search bar to find which stores deliver to you</div> 4711 <select class="platina-search-suburb-postcode form-control" id="chainStores" style="width:100%;"></select> 4712 </div> 4713 <div id='platina-order-type-container'></div> 4714 </div> 4715 </div> 4716 </div> 4717 4718 4719 4720 <!-- Store Details --> 4721 <div id="store-details" class="store-details-default-panel" style=""> 4722 <h2>Dough Boyz</h2> 4723 <div class="col-md-3 col-md-offset-2"> 4724 <p id="h-phone"> 4725 <i class="fa-solid fa-phone"></i> <a href="tel:0889329446" class="phone-link">08 8932 9446</a> </p> 4726 <p id="h-address"> 4727 <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> 4728 </p> 4729 <!-- WEB-2708: Social Media Links --> 4730 <style>@media(max-width:991px){.office-info .collapse-header-info{text-align:center;}.office-info .collapse-header-info .store-social-links{justify-content:center;}}</style><div class="store-social-links" style="display:flex; flex-wrap:wrap; gap:8px; margin:5px 0; align-items:center;"><span style="align-self:center;">Follow us on: </span><a href="https://www.facebook.com/DoughBoyz.com.au/" target="_blank" rel="noopener noreferrer" style="display:inline-flex; align-items:center; gap:4px; color:inherit; text-decoration:none;" aria-label="Facebook"><i class="fa-brands fa-facebook"></i></a><a href="https://www.instagram.com/doughboyz.com.au/" target="_blank" rel="noopener noreferrer" style="display:inline-flex; align-items:center; gap:4px; color:inherit; text-decoration:none;" aria-label="Instagram"><i class="fa-brands fa-instagram"></i></a></div> </div> 4731 <div class="col-md-3"> 4732 <p> 4733 <i class="fa-solid fa-truck-fast" style="margin-right: 5px"></i> 4734 <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>
4735 <div class='hours-list'> 4736 <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> 4737 </div>" class="delivery-time trading-hours-tooltip"> 4738 Delivery: 4739 <strong>04:30pm - 08:45pm</strong> 4740 </span> 4741 </p><p> 4742 <i class="fa-solid fa-clock" style="margin-right:5px;"></i> 4743 <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> 4744 <div class='hours-list'> 4745 <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> 4746 </div>" class="store-time-text trading-hours-tooltip"> 4747 Open Today: 4748 <strong>04:00pm - 09:00pm</strong> 4749 </span> 4750 </p><p class='mobile-estimated-time'></p> 4751 </div> 4752 <div class="col-md-3"> 4753 <div id="estimated-time"><div class="store_status" style="display:none;">preordering</div><div class="alert alert-warning" role="alert" style="font-size: 16px">Store is currently closed but you can still order for later.</div></div> </div> 4754 </div> 4755 </div> 4756 </div> 4757 </div> 4758 4759<!-- END OF FULL HEADER --> 4760 4761 4762 <input type="hidden" id='client_code' value='DB001'> 4763 <input type="hidden" id='orderTotal' value=''> 4764 <input type="hidden" id='storeName' value='Dough Boyz'> 4765 <input type="hidden" id='orderType' value='pickup'> 4766 <input type="hidden" id='customerLoggedIn' value='0'> 4767 <input type="hidden" id='customerGuest' value='0'> 4768 <input type="hidden" id='storeSelected' value='1'> 4769 <div class="modal fade modal-fullscreen force-fullscreen" id="showmapmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 4770 <div class="modal-dialog"> 4771 <div class="modal-content"> 4772 <div class="modal-header"> 4773 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 4774 <h4 class="modal-title">Store Location</h4> 4775 </div> 4776 <div class="modal-body"> 4777 <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> 4778 <div id="modal-info"> 4779 <h3 id="modal-store"><b><span>Dough Boyz</b></span></h3> 4780 <div class="col-md-3 col-md-offset-3 map-add"> 4781 <p id="h-address"> 4782 <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> 4783 </p> 4784 <p id="h-phone"> 4785 <i class="fa-solid fa-phone"></i> <a href="tel:0889329446" class="phone-link">08 8932 9446</a> </p> 4786 </div> 4787 <div class='col-md-3 map-time' style='text-align: right;'> 4788 <p> 4789 <i class="fa-solid fa-bell-concierge" style="margin-right:5px;"></i>
4790 <span>Delivery 04:30pm - 08:45pm</span> 4791 </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> 4792 </div> 4793 </div> 4794 </div><!-- /.modal-content --> 4795 </div><!-- /.modal-dialog --> 4796 </div><!-- /.modal --> 4797 4798 <!-- /.modal for adding quantity on single items --> 4799 <div class="modal modal-popup fade" id="add-popup-qty" role="dialog"> 4800 <div class="modal-dialog modal-dialog-popup"> 4801 <div class="modal-content modal-content-popup"> 4802 <div class="modal-header"> 4803 <p class="close close-popup" data-dismiss="modal">Ã</p> 4804 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600;"></h4> 4805 <div class="modal-title item-description-popup modal-title-full" style="font-size: 13px"></div> 4806 </div> 4807 <div class="modal-body" style="background: #ececec78;"> 4808 <div style="text-align:center;"><label style="font-weight: bold;">Quantity</label></div> 4809 <div style="text-align: center; margin: 10px;"> 4810 <button class="btn qty-btn-popup-single qty-btn-popup-minus" ref-group-id=""><i class="glyphicon glyphicon-minus"></i></button> 4811 <label id="" class="qty-label-popup qty" style="padding: 0 5%">1</label> 4812 <button class="btn qty-btn-popup-single qty-btn-popup-plus" ref-group-id=""><i class="glyphicon glyphicon-plus"></i></button> 4813 </div> 4814 </div> 4815 <div class="modal-footer" style="text-align: center; position: relative;"> 4816 <div class="item-add-buttons" style="width:100%"> 4817 <input style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" type="button" name="Add" value="Add" class="btn btn-primary" id="modal-addbtn"> 4818 <input style="padding: 10px 0 !important; width: 47%;" type="button" name="Customise" value="Customise" class="btn btn-primary" id="modal-customisebtn"> 4819 </div> 4820 </div> 4821 </div> 4822 </div> 4823 </div> 4824 4825 <!-- /.modal for switch store --> 4826 <div class="modal modal-popup fade" id="storeSwitchPopup" data-backdrop="static" data-keyboard="false" role="dialog"> 4827 <div class="modal-dialog modal-dialog-popup"> 4828 <div class="modal-content modal-content-popup"> 4829 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4830 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4831 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Switch store?</h4> 4832 <p style="font-size: 16px;">Your cart will be emptied. You are now ordering from <span id="storeSwitchPopupStoreName"></span>.</p> 4833 </div> 4834 <div class="modal-footer" style="text-align: center; position: relative;"> 4835 <div class="item-add-buttons" style="width:100%"> 4836 <button value="ok" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-primary switch-option">Okay</button> 4837 <button value="cancel" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-danger switch-option">Cancel</button> 4838 </div> 4839 </div> 4840 </div> 4841 </div> 4842 </div> 4843 4844 <!-- /.modal for Coming Soon --> 4845 <div class="modal modal-popup fade" id="comingSoonStoreSwitchPopup" data-backdrop="static" data-keyboard="false" role="dialog"> 4846 <div class="modal-dialog modal-dialog-popup"> 4847 <div class="modal-content modal-content-popup"> 4848 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4849 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4850 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Coming Soon!</h4> 4851 <p style="font-size: 16px;">The store you have selected is not available yet.</p> 4852 </div> 4853 <div class="modal-footer" style="text-align: center; position: relative;"> 4854 <div class="item-add-buttons" style="width:100%"> 4855 <button value="cancel" style="padding: 10px 0 !important; width: 47%;" data-dismiss="modal" class="btn btn-danger switch-option">
4855Okay</button> 4856 </div> 4857 </div> 4858 </div> 4859 </div> 4860 </div> 4861 4862 <!-- /.modal for locations --> 4863 <div class="modal fade locationsModal" id="locationsModal" tabindex="-1" role="dialog" aria-labelledby="locationsModal" aria-hidden="true"> 4864 <div class="modal-dialog modal-dialog-popup"> 4865 <div class="modal-content modal-content-popup"> 4866 <div class="modal-header" style="background: #ececec78; text-align: center;"> 4867 <p class="close close-popup" data-dismiss="modal">Ã</p> 4868 <h4 class="modal-title" style="color: black; padding-top: 5px; padding-bottom:5px; font-weight: 600; font-size: 27px;">Our Locations</h4> 4869 <p style="font-size: 16px;"></p> 4870 </div> 4871 <div class="modal-body" style="background: #fff; text-align: left;"> 4872 <div id='loadin_bar' style='text-align:center;'></div> 4873 <div class="franchise-locations"> 4874 <div class="col-md-3 col-sm-3 col-xs-12 store-details-container"> 4875 <ul id="locationsSuburbList" class="list-group list-group-flush"></ul> 4876 <select name="locationsSuburbList2" id="locationsSuburbList2" class="form-select"></select> 4877 </div> 4878 <div id="locations-map-container" class="col-md-9 col-sm-9 col-xs-12 map-container"> 4879 <div class="location-map" id="location-map" style="width: 100%; height: 100%;"> 4880 <div style="position: relative; overflow: hidden;" id="map_canvas"></div> 4881 </div> 4882 </div> 4883 </div> 4884 </div> 4885 </div> 4886 </div> 4887 </div> 4888 4889 <!-- /.modal for store list --> 4890 <div class="modal" id="storeListsModal" tabindex="-1"> 4891 <div class="modal-dialog modal-dialog-center"> 4892 <div class="modal-content"> 4893 <div class="modal-header" style="background: #ececec78; text-align: center;"> 4894 <p class="close close-popup" data-dismiss="modal">Ã</p> 4895 <h4 class="modal-title">List of Locations</h4> 4896 <p style="font-size: 16px;"></p> 4897 </div> 4898 <div class="modal-body" style="background: #fff; text-align: left;"> 4899 <div id='loadin_bar' style='text-align:center;'></div> 4900 <!-- Accordion Content --> 4901 <div> 4902 <div class="content"> 4903 <div class="panel-group store-list-accordion" id="accordion"> 4904 </div> 4905 </div> 4906 </div> 4907 </div> 4908 </div> 4909 </div> 4910 </div> 4911 4912 <!-- /.modal for store list switch store --> 4913 <div class="modal fade" id="storeSwitchPopup_2" tabindex="-1"> 4914 <div class="modal-dialog modal-dialog-center"> 4915 <div class="modal-content"> 4916 <div class="modal-body" style="background: #ececec78; text-align: center;"> 4917 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/cart-notif.svg" /> 4918 <h4 class="modal-title" style="color: black; padding-bottom: 5px; font-weight: 600; font-size: 27px;">Switch store?</h4> 4919 <p style="font-size: 16px;">Your cart will be emptied. You are now ordering from <span id="storeSwitchPopupStoreName"></span>.</p> 4920 </div> 4921 <div class="modal-footer" style="text-align: center; position: relative;"> 4922 <div class="item-add-buttons" style="width:100%"> 4923 <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> 4924 <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> 4925 </div> 4926 </div> 4927 </div> 4928 </div> 4929 </div> 4930 4931 <!-- OOA-1472 Refer a friend Modal --> 4932 <div class="modal fade" id="refer-modal" tabindex="-1" role="dialog" aria-labelledby="refer-modalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"> 4933 <div class="modal-dialog" role="document"> 4934 <div class="modal-content"> 4935 4936 <div class="modal-header"> 4937 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 4938 <span aria-hidden="true">×</span> 4939 </button> 4940 </div> 4941 4942 <div class="modal-body"> 4943 <form id="refer_form"> 4944 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/refer_friend.png"> 4945 <h1>Refer a friend</h1> 4946 <p>Who's hungry? Tell them about us!</p> 4947 <ul> 4948 <li><input type="text" name="referer_name" id="referer_name" class="form-control" style="margin:0 auto;" placeholder="Your Name" required></li> 4949 <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> 4950 <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> 4951 </ul> 4952 <button type="submit" class="btn btn-primary" id="refer-btn">Send Referral</button> 4953 </form>
4954 </div> 4955 4956 </div> 4957 </div> 4958 </div> 4959 4960 4961 <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"> 4962 <div class="modal-dialog" role="document"> 4963 <div class="modal-content"> 4964 <div class="modal-header"> 4965 <div class="message-container"> 4966 <div class="promo-code-wrapper"> 4967 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/promo_applied.png"/> 4968 Promo Code: <span class="promo-code-container"></span> 4969 </div> 4970 <div class="promo-code-redemption-label" style="display:none;">To complete your redemption, please select item options.</div> 4971 </div> 4972 <span class="close" data-dismiss="modal" aria-label="Close">×</span> 4973 </div> 4974 <div class="modal-body" style="display:none;"> 4975 <div class="modifier-wrapper"></div> 4976 </div> 4977 <div class="modal-footer"> 4978 <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.'> 4979 <button type="button" class="btn btn-primary" disabled></button> 4980 </span> 4981 </div> 4982 </div> 4983 </div> 4984 </div> 4985 4986 <input type='hidden' name='current_order_type' id='current_order_type_holder' value='pickup'/> 4987 4988 4989
4990<script> 4991$(document).ready(function(){ 4992 var bLazy = new Blazy(); 4993}); 4994</script>
4994 4995<style> 4996 /* For Merge - Style for responsive extra/current toppings */ 4997 .hide-menu-active-times{ 4998 /* display:none; */ 4999 letter-spacing:0.8px; 5000 background-color:#dc4f4f !important; 5001 border-left:5px solid #da2d2d !important; 5002 padding:5px 8px; 5003 font-size:14px; 5004 -webkit-transition: opacity 650ms ease-in-out; 5005 -moz-transition: opacity 650ms ease-in-out; 5006 -o-transition: opacity 650ms ease-in-out; 5007 transition: opacity 650ms ease-in-out; 5008 } 5009 5010 .b-lazy { 5011 -webkit-transition: opacity 650ms ease-in-out; 5012 -moz-transition: opacity 650ms ease-in-out; 5013 -o-transition: opacity 650ms ease-in-out; 5014 transition: opacity 650ms ease-in-out; 5015 max-width: 100%; 5016 opacity: 0; 5017 } 5018 .b-lazy.b-loaded { 5019 opacity: 1; 5020 } 5021 5022 /* FOR merge Loke at checkout page */ 5023 5024 #order-info-loke{ 5025 background: #fff; 5026 width: 70%; 5027 float:left; 5028 display:none; 5029 } 5030 #order-info-loke #loke-order-details{ 5031 padding:6px 10px 15px; 5032 } 5033 #order-info-loke h3{ 5034 background:#222; 5035 font-family: "Open Sans",sans-serif; 5036 color: #fff; 5037 margin: 0; 5038 padding: 6px; 5039 padding-left: 10px; 5040 font-weight: 300; 5041 margin-top: 0; 5042 font-size: 18px; 5043 } 5044 5045 @media only screen and (max-width: 992px){ 5046 #order-info-loke{ 5047 width:100%; 5048 display:block; 5049 } 5050 } 5051</style> 5052<div id="backgroundPopup"></div> 5053 5054 5055 5056<div id='main-content'> 5057 5058 <div class="container"> 5059 5060 <div class="location split-content group"> 5061 5062 <center><span> 5063 </span></center> 5064 5065 5066 5067 <div id="loyal_container" style='display:none;'> 5068 <div id="loyal_banner"> 5069 <div type='button' id="loyal_close"><i class="fa-solid fa-xmark"></i></div> 5070 <div id="loyal_cover"> 5071 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/loyalty-banner.png"/> 5072 <div class="fade"></div> 5073 </div> 5074 <div id="loyal_content"> 5075 <span id="banner_title">Loyalty Reward</span> 5076 <span id="banner_message"> 5077 Complete your stamps to get attractive rewards!<br> 5078 <span>*Your current stamps</span> 5079 </span> 5080 <div id='loyal_progress'> 5081 <!-- This will contain the progress like star-completed and star-incomplete --> 5082 </div> 5083 <div class="loyal_action_box"> 5084 <div id="loyal-redeem-btn">Redeem Here</div> 5085 </div> 5086 </div> 5087 </div> 5088</div> 5089<div id="promotional_container" style='display:none;'> 5090 <div id="promotional_banner"> 5091 <button type='button' id="promotional_close">Ã</button> 5092 <div id="promotional_cover"></div> 5093 <div id="promotional_content"> 5094 <div id="promo_text"></div> 5095 <div id="promo_button"></div> 5096 </div> 5097 </div> 5098</div> 5099<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"> 5100 <div class="modal-dialog" role="document"> 5101 <div class="modal-content"> 5102 <div class="modal-header"> 5103 Change order type? 5104 <div class="close" data-dismiss="modal" aria-label="Close"> 5105 <i class="fa-solid fa-xmark"></i> 5106 </div> 5107 </div> 5108 <div class="modal-body"> 5109 Are you sure you want to change order type? 5110 </div> 5111 <div class="modal-footer"> 5112 <button type="button" class="btn btn-primary btn-continue-order" data-dismiss="modal" aria-label="Close">Continue order</button> 5113 <button type="button" class="btn btn-primary btn-change-type" data-dismiss="modal" aria-label="Close">Change order type</button> 5114 </div> 5115 </div> 5116 </div> 5117</div> 5118<div class="modal modal-popup fade" id="menu-items-disabled-modal" tabindex="-1" role="dialog" aria-labelledby="menu-items-disabled-modalLabel"> 5119 <div class="modal-dialog modal-dialog-popup" role="document"> 5120 <div class="modal-content"> 5121 <div class="modal-body"> 5122 <div class="menu-items-disabled-message"> 5123 <div class="icon-warning"> 5124 <i class="fa-solid fa-exclamation"></i> 5125 </div> 5126 <div class="disable-message-text"></div> 5127 <div class="disabled-items-list"></div>
5128 </div> 5129 <div> 5130 <button type="button" class="btn btn-primary" data-dismiss="modal" aria-label="Close">Okay</button> 5131 </div> 5132 </div> 5133 </div> 5134 </div> 5135</div> 5136<style> 5137 #loyal_banner #loyal_content { 5138 background-color: #ffd966 !important; 5139 } 5140 5141 #loyal_banner #loyal_cover .fade { 5142 background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #ffd966 100%) !important; 5143 } 5144</style> 5145 5146 <style> 5147 .service-fee-disclaimer { 5148 display: none !important; 5149 } 5150 </style> 5151 5152<div class="store-frame"> 5153 <div class="store-details-open" style="display:none;"> 5154 <span class="store-time-clock glyphicon glyphicon-time" style="margin-right:10px;"></span> 5155 </div> 5156 <div class="store-details-after-closing" style="display:none;"></div> 5157 <div class="store-details-close" style="display:none;"> 5158 <div class="store-status-details"> 5159 <p style="margin-right:10px;">Store is currently closed but you can still order for later.</p> </div> 5160 </div> 5161 5162 </div> 5163<div id='menu-cont'> 5164 <div id='menu'> 5165 <div id='menu-title'>Our menu</div> 5166 <ul id="menu-ul" class='nav'> 5167 <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> 5168</div> 5169 5170 <style> 5171.custom-modal-overlay { 5172 position: fixed; 5173 top: 0; 5174 left: 0; 5175 width: 100%; 5176 height: 100%; 5177 background-color: rgba(0, 0, 0, 0.35); 5178 opacity: 1 !important; 5179 backdrop-filter: blur(5px); 5180 -webkit-backdrop-filter: blur(5px); 5181 z-index: 9999; 5182 display: flex; 5183 align-items: center; 5184 justify-content: center; 5185} 5186 5187.custom-modal-container { 5188 display: flex; 5189 align-items: center; 5190 justify-content: center; 5191 width: 100%; 5192 height: 100%; 5193 padding: 20px; 5194} 5195 5196.custom-modal-content { 5197 background: white; 5198 border-radius: 8px; 5199 padding: 25px; 5200 max-width: 500px; 5201 width: 100%; 5202 box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06); 5203 animation: modalSlideIn 0.2s ease-out; 5204} 5205 5206@keyframes modalSlideIn { 5207 from { 5208 opacity: 0; 5209 transform: translateY(-20px); 5210 } 5211 to { 5212 opacity: 1; 5213 transform: translateY(0); 5214 } 5215} 5216 5217.custom-modal-message { 5218 font-size: 16px; 5219 line-height: 1.5; 5220 color: #333; 5221 margin-bottom: 20px; 5222 text-align: center; 5223} 5224 5225.custom-modal-buttons { 5226 display: flex; 5227 justify-content: center; 5228 gap: 10px; 5229} 5230 5231.custom-modal-btn { 5232 padding: 10px 20px; 5233 border: none; 5234 border-radius: 4px; 5235 font-size: 14px; 5236 font-weight: 500; 5237 cursor: pointer; 5238 transition: all 0.2s ease; 5239 min-width: 80px; 5240} 5241 5242.custom-modal-btn-primary { 5243 background-color: #007bff; 5244 color: white; 5245} 5246 5247.custom-modal-btn-primary:hover { 5248 background-color: #0056b3; 5249} 5250 5251.custom-modal-btn-secondary { 5252 background-color: #6c757d; 5253 color: white; 5254} 5255 5256.custom-modal-btn-secondary:hover { 5257 background-color: #545b62; 5258} 5259 5260.custom-modal-btn:active { 5261 transform: scale(0.98); 5262} 5263 5264/* MODAL CLASS */ 5265.class-modals .custom-modal-content{ 5266 border-radius: 16px; 5267 max-width: 448px; 5268 padding: 32px 24px 24px; 5269 display: flex; 5270 flex-direction: column; 5271 align-items: center; 5272} 5273.class-modals button{ 5274 border-radius: 12px; 5275 color: #fff; 5276 background-color : #388ee2; 5277 width: 100%; 5278 font-size: 14px; 5279 font-weight: 600; 5280} 5281.class-modals .custom-modal-buttons{ 5282 width: 100%; 5283} 5284.class-modals .custom-modal-heading{ 5285 font-size: 16px; 5286 font-weight: 600; 5287 margin-bottom: 4px; 5288 text-align: center; 5289} 5290.class-modals .custom-modal-message{ 5291 font-size: 14px; 5292} 5293.class-modals button:hover{ 5294 background-color : #4a97e5; 5295} 5296.class-modals .custom-modal-icon{ 5297 border-radius: 50px; 5298 display: flex; 5299 font-size: 20px; 5300 height: 56px; 5301 width: 56px; 5302 justify-content: center;
5303 align-items: center; 5304 margin-bottom: 16px; 5305} 5306.icon-gift, .icon-success{ 5307 background-color: #e2f9eb; 5308 color: #25b15f; 5309} 5310.icon-warning, .icon-cart, .icon-question{ 5311 background-color: #fdf2e2; 5312 color: #f5a83d; 5313} 5314.icon-error, .icon-suspicious{ 5315 background-color: #fbeaea; 5316 color: #df3a3a; 5317} 5318.icon-info, .icon-message{ 5319 background-color: #e4f0fb; 5320 color: #368ce2; 5321} 5322 5323/* Mobile responsive */ 5324@media (max-width: 600px) { 5325 .custom-modal-content { 5326 padding: 20px; 5327 max-width: 90%; 5328 } 5329 5330 .custom-modal-message { 5331 font-size: 14px; 5332 } 5333 5334 .custom-modal-buttons { 5335 flex-direction: column; 5336 } 5337 5338 .custom-modal-btn { 5339 width: 100%; 5340 } 5341} 5342</style>
5342<script> 5343// Global z-index counter for modals 5344if (typeof window.customModalZIndex === 'undefined') { 5345 window.customModalZIndex = 10000; 5346} 5347 5348// Helper function to show modal alerts dynamically 5349function showModalAlert(icon, heading, message, buttonText, callback) { 5350 var modalId = 'customModal' + Date.now(); 5351 var modalZIndex = window.customModalZIndex++; 5352 var iconMap = { 5353 'gift': 'fa-solid fa-gift', 5354 'info': 'fa-solid fa-info', 5355 'warning': 'fa-solid fa-triangle-exclamation', 5356 'question': 'fa-solid fa-question', 5357 'success': 'fa-solid fa-check', 5358 'error': 'fa-solid fa-x', 5359 'message': 'fa-solid fa-message', 5360 'suspicious': 'fa-solid fa-shield-halved', 5361 'cart': 'fa-solid fa-cart-shopping' 5362 }; 5363 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 5364 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 5365 var iconClass = hasIcon ? iconMap[iconKey] : ''; 5366 var iconHtml = hasIcon 5367 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 5368 : ''; 5369 5370 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 5371 '<div class="custom-modal-container">' + 5372 '<div class="custom-modal-content">' + 5373 iconHtml + 5374 '<div class="custom-modal-heading">' + heading + '</div>' + 5375 '<div class="custom-modal-message">' + message + '</div>' + 5376 '<div class="custom-modal-buttons">' + 5377 '<button class="custom-modal-btn custom-modal-btn-primary" onclick="closeCustomModal(\'' + modalId + '\')">' + buttonText + '</button>' + 5378 '</div>' + 5379 '</div>' + 5380 '</div>' + 5381 '</div>'; 5382 5383 $('body').append(modalHtml); 5384 $('#' + modalId).fadeIn(200); 5385 5386 var overlayElement = document.getElementById(modalId); 5387 var buttonElement = overlayElement.querySelector('.custom-modal-btn-primary'); 5388 5389 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 5390 // BUT allow button clicks to execute their handlers first 5391 var blockBootstrapHandler = function(e) { 5392 // Check if event originated from our custom modal 5393 var modalElement = e.target.closest('#' + modalId); 5394 if (modalElement) { 5395 // If clicking on button, execute close action immediately in capture phase 5396 if (e.target.closest('.custom-modal-btn-primary')) { 5397 e.stopImmediatePropagation(); 5398 e.preventDefault(); 5399 // Close immediately 5400 setTimeout(function() { 5401 closeCustomModal(modalId); 5402 }, 0); 5403 return; 5404 } 5405 5406 // If clicking on overlay/container (not content), close modal 5407 if (e.target.classList.contains('custom-modal-overlay') || 5408 e.target.classList.contains('custom-modal-container')) { 5409 e.stopImmediatePropagation(); 5410 e.preventDefault(); 5411 setTimeout(function() { 5412 closeCustomModal(modalId); 5413 }, 0); 5414 return; 5415 } 5416 5417 // For any other click inside modal, just block it from reaching Bootstrap 5418 e.stopImmediatePropagation(); 5419 } 5420 }; 5421 5422 // Attach to document in capture phase to intercept before Bootstrap modal handlers 5423 document.addEventListener('click', blockBootstrapHandler, true); 5424 document.addEventListener('mousedown', blockBootstrapHandler, true); 5425 document.addEventListener('mouseup', blockBootstrapHandler, true); 5426 5427 window.closeCustomModal = function(id) { 5428 $('#' + id).fadeOut(200, function() { 5429 $(this).remove(); 5430 // Clean up event listeners 5431 document.removeEventListener('click', blockBootstrapHandler, true); 5432 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5433 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5434 if(callback && typeof callback === 'function') { 5435 callback(); 5436 } 5437 }); 5438 }; 5439 5440 var handleEsc = function(e) { 5441 if (e.keyCode === 27) { 5442 closeCustomModal(modalId); 5443 document.removeEventListener('keyup', handleEsc); 5444 } 5445 }; 5446 document.addEventListener('keyup', handleEsc); 5447} 5448 5449// Helper function to show confirmation modals dynamically 5450// options = { cancelBtnColor: '#color', confirmBtnColor: '#color', cancelBtnClass: 'class', confirmBtnClass: 'class' } 5451function showModalConfirm(icon, heading, message, confirmText, cancelText, onConfirm, onCancel, options) { 5452 var modalId = 'customModal' + Date.now(); 5453 var modalZIndex = window.customModalZIndex++; 5454 var iconMap = { 5455 'gift': 'fa-solid fa-gift', 5456 'info': 'fa-solid fa-info', 5457 'warning': 'fa-solid fa-triangle-exclamation', 5458 'question': 'fa-solid fa-question', 5459 'success': 'fa-solid fa-check', 5460 'error': 'fa-solid fa-x', 5461 'message': 'fa-solid fa-message', 5462 'suspicious': 'fa-solid fa-shield-halved', 5463 'cart': 'fa-solid fa-cart-shopping' 5464 }; 5465 5466 // Handle optional icon (allow icon to be omitted) 5467 var hasIcon = icon !== '' && icon !== null && typeof icon !== 'undefined'; 5468 var iconKey = hasIcon ? (iconMap[icon] ? icon : 'info') : ''; 5469 var iconClass = hasIcon ? iconMap[iconKey] : ''; 5470 var iconHtml = hasIcon 5471 ? '<div class="custom-modal-icon icon-' + iconKey + '"><i class="' + iconClass + '"></i></div>' 5472 : ''; 5473 5474 // Default options 5475 options = options || {}; 5476 var cancelBtnColor = options.cancelBtnColor || '#6c757d'; 5477 var confirmBtnColor = options.confirmBtnColor || '#007bff'; 5478 var cancelBtnClass = options.cancelBtnClass || 'custom-modal-btn-secondary'; 5479 var confirmBtnClass = options.confirmBtnClass || 'custom-modal-btn-primary'; 5480 5481 var modalHtml = '<div id="' + modalId + '" class="custom-modal-overlay class-modals" style="display:none; z-index:' + modalZIndex + ';">' + 5482 '<div class="custom-modal-container">' + 5483 '<div class="custom-modal-content">' + 5484 iconHtml + 5485 '<div class="custom-modal-heading">' + heading + '</div>' + 5486 '<div class="custom-modal-message">' + message + '</div>' + 5487 '<div class="custom-modal-buttons">' + 5488 '<button class="custom-modal-btn ' + cancelBtnClass + '" style="background-color: ' + cancelBtnColor + ';">' + cancelText + '</button>' + 5489 '<button class="custom-modal-btn ' + confirmBtnClass + '" style="background-color: ' + confirmBtnColor + ';">' + confirmText + '</button>' + 5490 '</div>' + 5491 '</div>' + 5492 '</div>' + 5493 '</div>'; 5494 5495 $('body').append(modalHtml); 5496 $('#' + modalId).fadeIn(200); 5497 5498 var overlayElement = document.getElementById(modalId); 5499 5500 // CRITICAL: Block events from reaching Bootstrap by intercepting at document level 5501 // BUT allow button clicks to execute their handlers first 5502 var blockBootstrapHandler = function(e) { 5503 // Check if event originated from our custom modal 5504 var modalElement = e.target.closest('#' + modalId); 5505 if (modalElement) { 5506 // If clicking on confirm button, execute action immediately in capture phase 5507 if (e.target.closest('.custom-modal-btn-primary')) { 5508 e.stopImmediatePropagation(); 5509 e.preventDefault(); 5510 // Close immediately 5511 setTimeout(function() { 5512 handleCustomModalConfirm(modalId); 5513 }, 0); 5514 return; 5515 } 5516 5517 // If clicking on cancel button, execute action immediately in capture phase 5518 if (e.target.closest('.custom-modal-btn-secondary')) { 5519 e.stopImmediatePropagation(); 5520 e.preventDefault(); 5521 // Close immediately 5522 setTimeout(function() { 5523 handleCustomModalCancel(modalId); 5524 }, 0); 5525 return; 5526 } 5527 5528 // If clicking on overlay/container (not content), close modal 5529 if (e.target.classList.contains('custom-modal-overlay') || 5530 e.target.classList.contains('custom-modal-container')) { 5531 e.stopImmediatePropagation(); 5532 e.preventDefault(); 5533 setTimeout(function() { 5534 handleCustomModalCancel(modalId); 5535 }, 0); 5536 return; 5537 } 5538 5539 // For any other click inside modal, just block it from reaching Bootstrap 5540 e.stopImmediatePropagation(); 5541 } 5542 }; 5543 5544 // Attach to document in capture phase to intercept before Bootstrap modal handlers 5545 document.addEventListener('click', blockBootstrapHandler, true); 5546 document.addEventListener('mousedown', blockBootstrapHandler, true); 5547 document.addEventListener('mouseup', blockBootstrapHandler, true); 5548 5549 window.handleCustomModalConfirm = function(id) { 5550 $('#' + id).fadeOut(200, function() { 5551 $(this).remove(); 5552 // Clean up event listeners 5553 document.removeEventListener('click', blockBootstrapHandler, true); 5554 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5555 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5556 if(onConfirm && typeof onConfirm === 'function') { 5557 onConfirm(); 5558 } 5559 }); 5560 }; 5561 5562 window.handleCustomModalCancel = function(id) { 5563 $('#' + id).fadeOut(200, function() { 5564 $(this).remove(); 5565 // Clean up event listeners 5566 document.removeEventListener('click', blockBootstrapHandler, true); 5567 document.removeEventListener('mousedown', blockBootstrapHandler, true); 5568 document.removeEventListener('mouseup', blockBootstrapHandler, true); 5569 if(onCancel && typeof onCancel === 'function') { 5570 onCancel(); 5571 } 5572 }); 5573 }; 5574 5575 var handleEsc = function(e) { 5576 if (e.keyCode === 27) { 5577 handleCustomModalCancel(modalId); 5578 document.removeEventListener('keyup', handleEsc); 5579 } 5580 }; 5581 document.addEventListener('keyup', handleEsc); 5582} 5583</script>
5583
5583<script> 5584 var last_io_selected = new Array(); 5585 $(document).ready(function() { 5586 var load_once; 5587 5588 if (typeof code_happened === 'undefined') { 5589 window.code_happened = true; 5590 load_once = true; 5591 }else{ 5592 load_once = false; 5593 } 5594 5595 //WEB-589 Allow upto 99 items in 1 selection 5596 var qty_selections = ''; 5597 for(var i = 1; i <= 99; i++) 5598 { 5599 qty_selections += '<option>'+i+'</option>'; 5600 } 5601 $("#item-buttons .qty-select.qty").html(qty_selections); 5602 5603 var current_width = $(window).width(); 5604 var current_height = $(window).height(); 5605 5606 if(current_width < 481){ 5607 var current_height1 = current_height - 215; 5608 $("#menu-items .modal-popup .modal-body").css('max-height', current_height1 +'px'); 5609 $("#menu-items .modal-popup .modal-body").css('min-height', current_height1 +'px'); 5610 } 5611 5612 if(current_width < 321){ 5613 var current_height2 = current_height - 225; 5614 $("#menu-items .modal-popup .modal-body").css('max-height', current_height2 +'px'); 5615 $("#menu-items .modal-popup .modal-body").css('min-height', current_height2 +'px'); 5616 } 5617 5618 if(load_once){ 5619 $(".qty-btn-popup-minus").live("click", function(){ 5620 var parent_div = $(this).closest('li').attr('id'); 5621 parent_div = (typeof parent_div !== "undefined" && parent_div !== false) ? "#"+parent_div+" " : ""; 5622 var PLU = $(this).attr('ref'); 5623 var group_id=$(this).attr('ref-group-id'); 5624 var counter = $(parent_div+'#qty-'+group_id).text(); 5625 counter = (isNaN(counter)) ? 1 : counter; 5626 counter--; 5627 if (counter <= 0){ 5628 counter = 1; 5629 } 5630 5631 if (group_id <= 0){ 5632 $(parent_div+'#qty-'+PLU).text(counter); 5633 }else{ 5634 $(parent_div+'#qty-'+group_id).text(counter); 5635 } 5636 }); 5637 5638 $(".qty-btn-popup-plus").live("click", function(){ 5639 var parent_div = $(this).closest('li').attr('id'); 5640 parent_div = (typeof parent_div !== "undefined" && parent_div !== false) ? "#"+parent_div+" " : ""; 5641 var PLU = $(this).attr('ref'); 5642 var group_id=$(this).attr('ref-group-id'); 5643 var counter = $(parent_div+'#qty-'+group_id).text(); 5644 counter = (isNaN(counter)) ? 1 : counter; 5645 counter++; 5646 if (counter >= 99){ 5647 counter = 99; 5648 } 5649 if (group_id <= 0){ 5650 $(parent_div+'#qty-'+PLU).text(counter); 5651 }else{ 5652 $(parent_div+'#qty-'+group_id).text(counter); 5653 } 5654 }); 5655 } 5656 5657 var option_id; 5658 5659 function priceBaseOnOrderType(parent_div) { 5660 order_type = $("#order-type-bt .active").val(); 5661 5662 // if order_type is empty or undefined 5663 // order_type is undefined when store is offline 5664 if(order_type == null || order_type == 'undefined') 5665 order_type = $("#current_order_type_holder").val(); 5666 5667 $("#"+ parent_div +" .extra-toppings-checkbox").each(function() { 5668 var price = $(this).attr('value'); 5669 var plu = $(this).attr('plu'); 5670 5671 if(price == 0){ 5672 price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table'));
5673 5674 $(this).attr('value', price); 5675 $("#"+ parent_div +" #condiment-price-"+plu).html(price); 5676 } 5677 5678 if(price == null || price == 'undefined' || !price){ 5679 price = 0; 5680 $("#"+ parent_div +" #condiment-price-"+plu).html(price); 5681 } 5682 }); 5683 5684 return false; 5685 } 5686 5687 function get_condiments(plu, parent_div, currentToppings, extraToppings, defaultToppings){ 5688 $("#"+parent_div+" .popup-condiments").show(); 5689 $("#"+parent_div+" .popup-toppings").css("opacity", "0.3"); 5690 $("#"+parent_div+" .lds-ring").show(); 5691 $("#"+parent_div+" .modal-footer .footer_overlay").show(); 5692 5693 $.ajax({ 5694 type: "POST", 5695 url: "core/ajax/get_popup_toppings.php", 5696 data: {"cid": "1288", "plu": plu, "currenttoppings": currentToppings, "extratoppings": extraToppings, "defaulttoppings": defaultToppings}, 5697 success: function(data) { 5698 if(data){ 5699 $(".popup-toppings").html(''); 5700 $("#"+parent_div+" .lds-ring").hide(); 5701 $("#"+parent_div+" .popup-toppings").html(data); 5702 5703 //WEB-395 UPSELL 5704 var upsell_id = parent_div.substring(parent_div.lastIndexOf("_")+1); 5705 var upsell_container = $("#menu-"+upsell_id+"-upsell-items"); 5706 if(upsell_container.length > 0) 5707 { 5708 $("#"+parent_div+" .popup-toppings").append(upsell_container.html()); 5709 5710 $("#"+parent_div+" .upsell-item-chkbox").die("change").live("change", function(){ 5711 var popup_total = parseFloat($("#"+parent_div+" .popup-item-price").text().substring(1)); 5712 var upsell_item_price = parseFloat($(this).data("price")); 5713 5714 if($(this).is(":checked")) 5715 { 5716 popup_total += upsell_item_price; 5717 } 5718 else 5719 { 5720 popup_total -= upsell_item_price; 5721 } 5722 5723 $("#"+parent_div+" .popup-item-price").text("$"+formatNumber(popup_total)); 5724 }); 5725 } 5726 5727 $("#"+parent_div+" .popup-toppings").css("opacity", "1"); 5728 } 5729 }, 5730 complete: function(data) { 5731 priceBaseOnOrderType(parent_div); 5732 $("#"+parent_div+" .modal-footer .footer_overlay").hide(); 5733 5734 // Reset Styles for WEB-573 Line separation on the item modal 5735 $('#'+ parent_div + ' .item-option-radio-menu').css("border-bottom", "none"); 5736 $('#'+ parent_div + ' .popup-current-toppings').css("border-top", "none"); 5737 $('#'+ parent_div + ' #extra-toppings').css("border-top", "none"); 5738 5739 var line_chk_01 = $('#'+ parent_div +' .menu-item-option-popup').children().length > 0; 5740 var line_chk_02 = $('#'+ parent_div +' .item-option-radio-menu').children().length > 0; 5741 var line_chk_03 = $('#'+ parent_div + ' .popup-current-toppings').children().length > 0;
5742 var line_chk_04 = $('#'+ parent_div + ' #extra-toppings').children().length > 0; 5743 5744 if(line_chk_01 == true && $('#'+ parent_div + ' .item-option-radio-menu').length > 0) 5745 { 5746 $('#'+ parent_div + ' .item-option-radio-menu')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5747 } 5748 5749 if((line_chk_01 || line_chk_02) && $('#'+ parent_div + ' .popup-current-toppings').length > 0) 5750 { 5751 $('#'+ parent_div + ' .popup-current-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5752 } 5753 5754 if((line_chk_01 || line_chk_02 || line_chk_03) && $('#'+ parent_div + ' #extra-toppings').length > 0) 5755 { 5756 $('#'+ parent_div + ' #extra-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5757 } 5758 5759 if((line_chk_01 || line_chk_02 || line_chk_03 || line_chk_04) && $('#'+ parent_div + ' .upsell-header').length > 0) 5760 { 5761 $('#'+ parent_div + ' .upsell-header')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 5762 } 5763 } 5764 }); 5765 5766 } 5767 5768 function item_option_list(data, groupId, menuId, io, isMultiple, multipleItemGrpId, itemCtr){ 5769 var counter = 0, // for padding of the right and left side of the col-sm-6 5770 input_type = "radio", 5771 padding='', checked='', active='', 5772 item_option_html='', 5773 option_name = data[0].option_name, 5774 option_display_name = data[0].option_display_name, 5775 min_option = (data[0].min_permitted !== undefined) ? data[0].min_permitted : 0, 5776 max_option = (data[0].max_permitted !== undefined) ? data[0].max_permitted : 1; 5777 5778 if(!isMultiple){ 5779 item_option_html += '<p style="color:black; font-size:13.5px; width:100%">'+(option_display_name ? option_display_name : option_name)+'</p>'; 5780 } else{ 5781 var io_required=''; 5782 if(min_option <= 0){ 5783 io_required = "Choose up to "+max_option; 5784 } else if(min_option == max_option){ 5785 io_required = "Required"; 5786 io_required += (min_option > 1) ? " - Choose "+min_option : ""; 5787 } else{ 5788 io_required = "Required - Choose between "+min_option+" and "+max_option; 5789 } 5790 5791 item_option_html += '<div'+(itemCtr > 1 ? ' style="margin-top:15px;"' : '')+' class="multi-option-select">' 5792 +'<div class="multi-option-name item-option-group-name-'+multipleItemGrpId+'" style="position:relative; float:left; width:100%;">' 5793 +'<p style="color:black; font-size:15px; font-weight:600; padding-bottom:0;">'+(option_display_name ? option_display_name : option_name)+'</p>' 5794 +'<span style="font-size:15px; color:#a1a1a1;">'+io_required+'</span>' 5795 +'</div>'; 5796 } 5797 5798 $.each(data, function(key, value){ 5799 checked=''; 5800 active=''; 5801 counter++; 5802 5803 if(counter == 1){ 5804 padding = 'padding-right:15px; padding-left:0px;'; 5805 }else{ 5806 padding = 'padding-right:0px; padding-left:15px;'; 5807 counter = 0; 5808 } 5809 5810 if(!isMultiple){ 5811 if(value.default_item_option_id == value.id){ 5812 checked = 'checked'; 5813 active = 'https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/icon-check.png'; 5814 } 5815 5816 input_type = "radio"; 5817 } else{ 5818 input_type = "checkbox"; 5819 } 5820 5821 var price_txt = (value.item_price > 0) ? ' - $' + value.item_price : ''; 5822 5823 item_option_html += '<div class="input-group-radio item-option-input-group col-sm-6" style="'+padding+'">' 5824 +'<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+'>' 5825 +'<label for ="item-option-'+groupId+'-'+menuId+'-'+value.id+'" style="font-weight:normal
5825!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>' 5826 +'</div>'; 5827 }); 5828 5829 if(isMultiple){ 5830 item_option_html += '</div>'; 5831 } 5832 5833 $(item_option_html).appendTo(io); 5834 } 5835 5836 if(load_once){ 5837 $(".add-button-popup").live("click", function(){ 5838 var parent_div = $(this).closest('li').attr('id'); 5839 var parent_div_class = $(this).closest('li').attr('class'); 5840 var plu = $(this).attr('ref'); 5841 $("#"+ parent_div +" #toppings_left").hide(); 5842 $(".popup-orig-price").html('0'); 5843 $(".popup-item-price").html(''); 5844 5845 var t = 0; 5846 $("#"+ parent_div +" .input-group-label").each(function() { 5847 if($(this).hasClass('active')){ 5848 t = 1; 5849 } 5850 }); 5851 5852 if(t == 0){ 5853 $("#"+ parent_div +" .input-group-label").each(function() { 5854 $(this).addClass('active'); 5855 return false; 5856 }); 5857 } 5858 5859 if($("#"+ parent_div +" .item-option-radio-list[multiple-io]").length > 0){ 5860 $("#"+ parent_div +" .item-option-radio-list[multiple-io]").each(function(){ 5861 if($(this).siblings(".input-group-label").hasClass("active")){ 5862 $(this).siblings(".input-group-label").removeClass("active"); 5863 } 5864 }); 5865 } 5866 5867 5868 var popup_price = parseFloat($("#"+ parent_div +" .active #popup-price").html().replace('$', '')); 5869 var hide_toppings = $("#"+ parent_div +" .active").attr('hide_toppings'); 5870 var active_plu = $("#"+ parent_div +" .active").parent().find('.radio-button-popup').attr('plu'); 5871 5872 $("#"+ parent_div + " .modal-footer .qty").html('1'); 5873 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(popup_price)); 5874 5875 if(hide_toppings == 0){ 5876 get_condiments(active_plu, parent_div, "", "", ""); 5877 } 5878 5879 get_item_option(parent_div); 5880 }); 5881 } 5882 5883 $(".qty-btn-popup").live("click", function(){ 5884 var parent_div = $(this).closest('li').attr('id'); 5885 var popup_price = $("#"+ parent_div +" .active #popup-price").html(); 5886 5887 if(popup_price){ 5888 popup_price = parseFloat(popup_price.replace('$', '')); 5889 var popup_qty = $(this).parent().find('.qty').html(); 5890 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 5891 toppings_price = parseFloat(toppings_price.replace('$', '')); 5892 5893 var total_price = parseFloat(popup_price) * parseInt(popup_qty); 5894 var toppings_toppings_price = parseFloat(toppings_price) * parseInt(popup_qty); 5895 5896 var upsell_total = 0; 5897 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 5898 var upsell_price = parseFloat($(this).data("price")); 5899 upsell_total += upsell_price; 5900 }); 5901 5902 total_price = total_price + toppings_toppings_price + upsell_total; 5903 5904 $(this).parent().parent().parent().find('.popup-item-price').html("$"+formatNumber(total_price)); 5905 get_item_option(parent_div); 5906 } 5907 }); 5908 5909 $(".item-option-radio-list").live("click", function(){ 5910 var parent_div = $(this).closest('li').attr('id'); 5911 var multiple_io = $(this).attr('multiple-io'); 5912 var mio_id = $(this).attr('mio-id'); 5913 5914 if(typeof multiple_io === "undefined" || multiple_io === false){ 5915 $('#'+ parent_div +' .item-option-radio-list').attr('checked', false); 5916 $(this).attr('checked', true); 5917 } else{
5918 var min_io = $(this).attr('min-io'); 5919 var max_io = $(this).attr('max-io'); 5920 5921 if($("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length >= min_io){ 5922 $(this).parent().parent().css({"padding":"", "border":""}); 5923 } 5924 5925 if(max_io == 1 && $("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length > 1){ 5926 $("#"+parent_div+" [name='"+$(this).attr('name')+"']").attr('checked', false); 5927 $(this).attr('checked', true); 5928 } else if($("#"+parent_div+" [name='"+$(this).attr('name')+"']:checked").length > max_io){ 5929 $("#"+last_io_selected[mio_id]).attr('checked', false); 5930 } 5931 last_io_selected[mio_id] = $(this).attr('id'); 5932 } 5933 5934 checked_io($(this), "template4"); 5935 get_item_option(parent_div); 5936 }); 5937 5938 5939 $(".menu-option-radio-list").live("click", function(){ // code for the new settings called customise_popup 5940 var group_id = $(this).attr('ref'); 5941 var menu_id = $(this).attr('menu-id'); 5942 var plu = $(this).attr('plu'); 5943 var old_plu = $(this).siblings('.input-group-label').hasClass('active') 5944 var hide_toppings = $(this).siblings('.input-group-label').attr('hide_toppings'); 5945 var parent_div = $(this).closest('li').attr('id'); 5946 var qty = $("#"+ parent_div + " .qty").html(); 5947 var io = $("#"+ parent_div + " .item-option-radio"); 5948 $("#"+ parent_div +" #toppings_left").hide(); 5949 5950 var default_toppings = $("#"+parent_div+" .current-toppings-checkbox").map(function(){ 5951 return $(this).attr("plu"); 5952 }).get(); 5953 5954 var current_toppings = $("#"+parent_div+" .current-toppings-checkbox:checked").map(function(){ 5955 return $(this).attr("plu"); 5956 }).get(); 5957 5958 var extra_toppings = $("#"+parent_div+" .extra-toppings-checkbox:checked").map(function(){ 5959 return $(this).attr("plu"); 5960 }).get(); 5961 5962 if(old_plu == false){ 5963 if(plu){ 5964 if(hide_toppings == 0){ 5965 get_condiments(plu, parent_div, current_toppings, extra_toppings, default_toppings); 5966 }else{ 5967 $("#"+ parent_div + " .popup-condiments").hide(); 5968 $("#"+ parent_div + " .popup-toppings").empty(); 5969 } 5970 } 5971 5972 $(".popup-item-price").html(''); 5973 $("#"+ parent_div + " .popup-orig-price").html('0'); 5974 5975 var popup_price = $(this).siblings('.input-group-label').children('#popup-price').html(); 5976 popup_price = parseFloat(popup_price.replace('$', '')); 5977 5978 var upsell_total = 0; 5979 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 5980 var upsell_price = parseFloat($(this).data("price")); 5981 upsell_total += upsell_price; 5982 }); 5983 5984 var total_price = (parseFloat(popup_price) * parseInt(qty)) + upsell_total; 5985 5986 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(total_price)); 5987 } 5988 5989 // for the icon checked besides the label of radio button 5990 $(this).parent().parent().find('.check-img-popup').attr('src',""); 5991 $(this).parent().parent().find('.input-group-label').removeClass('active'); 5992 $(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"); 5993 $(this).siblings('.input-group-label').addClass('active'); 5994 5995 //fix for safari img shown as broken image 5996 $(this).parent().parent().find('.check-img-popup').css('visibility',"hidden"); 5997 $(this).siblings('.input-group-label').children('.check-img-popup').css('visibility',"visible"); 5998 5999 $("#"+parent_div+' input[name="menu-item-option-radio-'+group_id+'"]').attr('checked', false); 6000 $(this).attr('checked', true); 6001 $("#" + group_id).attr('ref', $(this).val()); 6002 6003 if(old_plu == false){ 6004 $('#'+ parent_div + '.item-option-radio-menu').hide(); 6005 $("#"+parent_div+" .radio-button-popup").attr('disabled','disabled'); // to prevent multiple item option when radio button is spammed 6006 if (io) { 6007 io.empty(); 6008 $.ajax({
6009 url: 'core/ajax/item_options.php', 6010 type: "POST", 6011 data: { 6012 "plu": plu 6013 }, 6014 dataType: 'json', 6015 success: function (data) { 6016 // For item-options that was hidden because of no item option on default size 6017 // We need to show it else hide if no data was returned 6018 if(Object.keys(data).length >= 1 && data){ 6019 $('#'+ parent_div + ' .item-option-radio-menu').show(); 6020 $(io).fadeIn(0); 6021 6022 if(data.hasOwnProperty('multiple_io')){ 6023 delete data['multiple_io']; 6024 6025 var io_ctr = 1; 6026 $.each(data, function(key, value){ 6027 item_option_list(value, group_id, menu_id, io, true, key.trim(), io_ctr); 6028 io_ctr++; 6029 }); 6030 } else{ 6031 item_option_list(data, group_id, menu_id, io, false, "", 0); 6032 } 6033 }else{ 6034 $('#'+ parent_div + ' .item-option-radio-menu').hide(); 6035 } 6036 6037 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 6038 //fix for safari img shown as broken image 6039 $("#"+parent_div+" input:radio[name=item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 6040 $("#"+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"); 6041 $("#add-popup-"+group_id+"-"+menu_id).find("input:not(:checked)").siblings(".input-group-label").find(".check-img-popup").css('visibility',"hidden"); 6042 } 6043 6044 $("#"+parent_div+" .radio-button-popup").attr('disabled', false); 6045 }, 6046 complete: function (data) { 6047 get_item_option(parent_div); 6048 6049 // Reset Styles for WEB-573 Line separation on the item modal 6050 $('#'+ parent_div + ' .item-option-radio-menu').css("border-bottom", "none"); 6051 $('#'+ parent_div + ' .popup-current-toppings').css("border-top", "none"); 6052 $('#'+ parent_div + ' #extra-toppings').css("border-top", "none"); 6053 6054 var line_chk_01 = $('#'+ parent_div +' .menu-item-option-popup').children().length > 0; 6055 var line_chk_02 = $('#'+ parent_div +' .item-option-radio-menu').children().length > 0; 6056 var line_chk_03 = $('#'+ parent_div + ' .popup-current-toppings').children().length > 0; 6057 var line_chk_04 = $('#'+ parent_div + ' #extra-toppings').children().length > 0; 6058 6059 if(line_chk_01 == true && $('#'+ parent_div + ' .item-option-radio-menu').length > 0) 6060 { 6061 $('#'+ parent_div + ' .item-option-radio-menu')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6062 } 6063 6064 if((line_chk_01 || line_chk_02) && $('#'+ parent_div + ' .popup-current-toppings').length > 0) 6065 { 6066 $('#'+ parent_div + ' .popup-current-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6067 } 6068 6069 if((line_chk_01 || line_chk_02 || line_chk_03) && $('#'+ parent_div + ' #extra-toppings').length > 0) 6070 { 6071 $('#'+ parent_div + ' #extra-toppings')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6072 } 6073 6074 if((line_chk_01 || line_chk_02 || line_chk_03 || line_chk_04) && $('#'+ parent_div + ' .upsell-header').length > 0) 6075 { 6076 $('#'+ parent_div + ' .upsell-header')[0].style.setProperty("border-top", "1px solid #00000038", "important"); 6077 } 6078 } 6079 }); 6080 } 6081 } 6082 }); 6083 6084 function isNumeric(n) { 6085 return !isNaN(parseFloat(n)) && isFinite(n); 6086 } 6087 6088 var items = {}; 6089 var free_toppings_list = []; 6090 6091 function calculateItems() { 6092 var total = 0; 6093 for (var plu in items) { 6094 total += items[plu]; 6095 } 6096 6097 return total; 6098 } 6099 6100 if(load_once){ 6101 $(".extra-toppings-checkbox").live('change', function () { 6102 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 6103 var popup_price = $("#"+ parent_div +" .popup-item-price").html(); 6104 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 6105 var qty = $("#"+ parent_div + " .qty").html(); 6106 var counter_free_extras = 0; 6107 var max_toppings;
6108 var num_free_extra = 0; 6109 var price = 0; 6110 6111 if($("#"+ parent_div +" #max_toppings").length){ 6112 max_toppings = $("#"+ parent_div +" #max_toppings p").html(); 6113 }else{ 6114 max_toppings = 12; 6115 } 6116 6117 if($("#"+ parent_div +" #num-free-toppings").length){ 6118 num_free_extra = $("#"+ parent_div +" #num-free-toppings").html(); 6119 num_free_orig = $("#"+ parent_div +" #num-free-orig").html(); 6120 } 6121 6122 var plu = $(this).attr('plu'); 6123 6124 var cur_toppings = $("#"+parent_div+" .extra-toppings-checkbox::checked").length; 6125 6126 //will happen if there is no set limit 6127 var remaining_ = max_toppings - cur_toppings; 6128 6129 // the text is valid since it always being updated by priceBase function 6130 // PREVENT ADDING MORE ITEMS 6131 if (remaining_ < 0) { 6132 $("#"+ parent_div +" #toppings_left").show().delay(1000).fadeOut(); 6133 $("#"+ parent_div +" #toppings_left").html("You have reached the extras limit of "+max_toppings); 6134 $(this).prop('checked', false); 6135 return false; 6136 }else{ 6137 $("#"+ parent_div +" #toppings_left").hide(); 6138 $("#"+ parent_div +" #toppings_left").html(''); 6139 } 6140 6141 // Update the price fetching, now respects the order type 6142 // Please NOTE that overridden condiment prices will reflect on both pickup/delivery 6143 var order_type = 'pickup'; 6144 6145 price = $(this).attr('value'); 6146 if(!price || price <= 0){ 6147 price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table')); 6148 } 6149 6150 if($("#"+ parent_div +" #num-free-toppings").length){ 6151 if (num_free_extra > 0 && this.checked) { 6152 price = 0; 6153 $("#"+parent_div+" #num-free-toppings").html(parseFloat(num_free_extra) - 1); 6154 $(this).addClass('free_item'); 6155 }else if(num_free_extra == 0 && this.checked){ 6156 $("#"+parent_div+" #num-free-toppings").html('0'); 6157 $(this).removeClass('free_item'); 6158 }else if(cur_toppings < num_free_orig){ 6159 price = 0; 6160 $("#"+parent_div+" #num-free-toppings").html(parseFloat(num_free_extra) + 1); 6161 $(this).removeClass('free_item'); 6162 } else if(!this.checked) { 6163 //Check if the checkbox is uncheck 6164 counter_free_extras += 1; 6165 $(this).removeClass('free_item'); 6166 } 6167 } 6168 6169 if(price == null || price == 'undefined' || !price){ 6170 price = 0; 6171 } 6172 6173 var popup_orig = parseFloat($("#"+ parent_div +" .active #popup-price").html().replace('$', '')); 6174 6175 if(this.checked){ 6176 price = price; 6177 }else{ 6178 if(counter_free_extras > 0){ 6179 price = (price > 0) ? '-'+price : Math.abs(price); 6180 let free_topping_checked = $("#"+parent_div+" .extra-toppings-checkbox.free_item::checked").length; 6181 if(free_topping_checked < num_free_orig){ 6182 $("#"+parent_div+" .extra-toppings-checkbox::checked").not(".free_item").each(function(){ 6183 $(this).addClass("free_item"); 6184 6185 var free_item_price = $(this).attr('value'); 6186 6187 if(!free_item_price || free_item_price <= 0){ 6188 free_item_price = order_type == 'pickup' ? $(this).data('sell-shop') : (order_type == 'delivery' ? $(this).data('sell-delivery') : $(this).data('sell-table'));
6189 } 6190 6191 if(!free_item_price || free_item_price === 'undefined'){ 6192 free_item_price = 0; 6193 } 6194 6195 toppings_price -= free_item_price; 6196 popup_price = parseFloat(popup_price.replace('$', '')) - free_item_price; 6197 price = 0; 6198 free_topping_checked++; 6199 6200 if(free_topping_checked >= num_free_orig){ 6201 return false; 6202 } 6203 }); 6204 } 6205 } else{ 6206 price = (price > 0) ? '-'+price : Math.abs(price); 6207 } 6208 } 6209 6210 popup_price = (typeof popup_price == "number") ? popup_price : parseFloat(popup_price.replace('$', '')); 6211 6212 var item_total = 0; 6213 var toppings_total = 0; 6214 6215 toppings_total = parseFloat(price) + parseFloat(toppings_price); 6216 items[plu] = parseFloat(price); 6217 $("#"+ parent_div + " .popup-orig-price").html(formatNumber(toppings_total)); 6218 6219 price = (qty) ? (price * qty) : price; 6220 item_total = parseFloat(price) + popup_price; 6221 //Check if the free extras exceed and it will start add the price of toppings 6222 6223 var upsell_total = 0; 6224 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 6225 var upsell_price = parseFloat($(this).data("price")); 6226 upsell_total += upsell_price; 6227 }); 6228 6229 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber((item_total+upsell_total))); 6230 6231 if($("#"+ parent_div +" #max_toppings").length){ 6232 var counter; 6233 6234 if(this.checked){ 6235 counter = 1; 6236 }else{ 6237 counter = '-'+1; 6238 } 6239 6240 max_toppings = $("#"+ parent_div +" #max_toppings span").html(); 6241 6242 var toppings_left = max_toppings - counter; 6243 $("#"+parent_div+" #max_toppings span").html(toppings_left); 6244 } 6245 }); 6246 } 6247 6248 $(".customise-add-button").click(function () { 6249 if($("input[name='storestatus']").val()=='offline'){ 6250 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6251 return; 6252 } 6253 6254 var menu_id = $(this).closest('#menu_items').attr('data-menuid'); 6255 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 6256 var modal_div = $(this).closest('.modal-popup').attr('id'); 6257 var price = $("#"+ parent_div +" .popup-item-price").html(); 6258 price = parseFloat(price.replace('$', '')); 6259 6260 var PLU = $(this).attr('ref'); 6261 var qty = $("#"+ parent_div +" .qty").text(); 6262 qty = (isNaN(qty)) ? 1 : qty; 6263 6264 option_id=''; 6265 var mio_ids = [], 6266 mio_msg = [], 6267 mio_req = 0; 6268 if($("#"+ parent_div +" .item-option-radio-list").length > 0){ 6269 $("#"+ parent_div +" .item-option-radio-list").each(function(){ 6270 if($(this).is(':checked')){ 6271 option_id += (option_id.trim()!="") ? "," : ""; 6272 option_id += $(this).attr('ref'); 6273 } 6274 6275 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 6276 mio_ids.push($(this).attr('mio-id')); 6277 } 6278 mio_ids = [... new Set(mio_ids)]; 6279 }); 6280 6281 if(typeof $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== false){ 6282 var io_div; 6283 $.each(mio_ids, function(key, val){ 6284 var io_selected = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:checked").length, 6285 io_min = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('min-io'), 6286 io_max = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('max-io'), 6287 io_name = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().siblings("div.item-option-group-name-"+val).find("p").text(), 6288 io_container = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().parent(); 6289 6290 io_container.css({"padding":"", "border":""}); 6291 6292 if(io_selected < io_min){ 6293 io_container.css({"padding":"5px", "border":"1px solid red"}); 6294 mio_req++; 6295 6296 if(!io_div){ 6297 io_div = io_container; 6298 } 6299 } else if(io_selected > io_max){ 6300 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 6301 } 6302 }); 6303 6304 if(mio_req > 0){ 6305 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK");
6306 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 6307 return false; 6308 } 6309 6310 if(mio_msg.length > 0){ 6311 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 6312 return false; 6313 } 6314 6315 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 6316 checked_io($("#"+parent_div+" .item-option-radio-list"), "template4"); 6317 } else{ 6318 var default_io; 6319 default_io = $("#"+ parent_div +" .item-option-radio-list:checked").attr('default-io'); 6320 if(typeof default_io !== "undefined" && default_io !== false){ 6321 $("#"+parent_div+" .item-option-radio-list[ref='"+default_io+"']").attr('checked', true); 6322 } else{ 6323 $("#"+parent_div+" .item-option-radio-list:not(:disabled):first").attr('checked', true); 6324 } 6325 checked_io($("#"+parent_div+" .item-option-radio-list:checked"), "template4"); 6326 } 6327 } 6328 6329 var topping_array = new Array(3); 6330 var i = 0; 6331 var f = free_toppings_list.slice(); // to prevent mutation of the original list 6332 f.sort(); 6333 $("#"+ parent_div + " .toppings-checkbox").each(function () { 6334 if ($(this).hasClass('current_item') || ($(this).hasClass('extra-toppings-checkbox') && this.checked)){ 6335 var extra_plu = $(this).attr('plu'); 6336 var extra_price = parseFloat(this.value); 6337 var unit_price = parseFloat(this.value); 6338 var extra_qty = (this.checked == true ? 1 : -1); 6339 var is_current = $(this).hasClass('current_item'); 6340 var has_chargeable = false; 6341 if (!extra_price) { 6342 extra_price = 0; 6343 } 6344 if (!is_current || extra_qty < 0 || extra_qty > 1) { 6345 6346 if (is_current && extra_qty > 1) { 6347 extra_qty--; 6348 } 6349 6350 if (is_current && extra_qty < 0) { 6351 extra_price = 0; 6352 }else if($(this).hasClass('free_item') || is_current){ 6353 extra_price = 0; 6354 }else{ 6355 extra_price = unit_price; 6356 } 6357 6358 topping_array[i] = new Array(3); 6359 topping_array[i][0] = extra_plu; 6360 topping_array[i][1] = (extra_qty * qty); 6361 topping_array[i][2] = extra_price; 6362 6363 i++; 6364 6365 // we add it after 6366 if (has_chargeable == true) { 6367 //increase the counter to prevent overwriting this index 6368 topping_array[i] = new Array(3); 6369 topping_array[i][0] = extra_plu; 6370 topping_array[i][1] = 1; 6371 topping_array[i][2] = 0; 6372 6373 i++; 6374 } 6375 } 6376 } 6377 }); 6378 6379 var payload = {"PLU": PLU, "qty": qty, "price": price, "option_id": option_id, "topping_array[]": topping_array, "menu_id" : menu_id}; 6380 6381 if($("#"+parent_div+" .upsell-item-chkbox:checked").length >= 5){ 6382 $("#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;">'+ 6383 '<i class="fa-solid fa-circle-notch fa-spin" style="font-size:40px; margin-top:10px; margin-bottom:20px;"></i>'+ 6384 '<br><span style="font-size: 15px; font-weight: 600;">
6384Adding to your cart. Almost done...</span>'+ 6385 '</div>'); 6386 } 6387 6388 $.ajax({ 6389 url: 'core/mybasket.php', 6390 type: "POST", 6391 data: payload, 6392 success: function (data) { 6393 $('#view-basket').html(data); 6394 get_cart_total(); 6395 if (!$('#free_item_plu').length) { 6396 new PNotify({ 6397 text: 'Item added to order.', 6398 width: "220px", 6399 delay: 3000, 6400 type: 'success' 6401 }); 6402 } 6403 $("#"+ parent_div + " .popup-orig-price").html('0'); 6404 option_id = ''; 6405 last_io_selected = []; 6406 } 6407 }).done(function(){ 6408 var upsell_item = {}; 6409 var c = 0; 6410 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(i){ 6411 var upsell_plu = $(this).attr("data-plu"); 6412 var upsell_price = $(this).data("price"); 6413 6414 upsell_item[c.toString()] = { 6415 "PLU": upsell_plu, 6416 "price": upsell_price, 6417 "qty": 1, 6418 "menu_id": menu_id, 6419 "is_upsell": true}; 6420 c++; 6421 }); 6422 6423 if(Object.keys(upsell_item).length > 0) 6424 { 6425 $.ajax({
6426 url: 'core/mybasket.php', 6427 type: "POST", 6428 data: $.param(upsell_item), 6429 success: function (data) { 6430 $("#loading_bar").removeClass("loading_bar").css("z-index", "").html(""); 6431 $('#view-basket').html(data); 6432 get_cart_total(); 6433 if (!$('#free_item_plu').length) { 6434 new PNotify({ 6435 text: 'Item added to order.', 6436 width: "220px", 6437 delay: 3000, 6438 type: 'success' 6439 }); 6440 } 6441 } 6442 }); 6443 } 6444 }); 6445 }); 6446 6447 function get_cart_total(){ 6448 $('#cartTotal').load("core/ajax/get_cart_total.php?page="+PAGE_NAME, function(data){ 6449 $('#cartTotal, .cartTotal').html('$'+data); 6450 }); 6451 } 6452 6453 $("#promo_button").click(function(){ 6454 if($("input[name='storestatus']").val()=='offline'){ 6455 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6456 return; 6457 } 6458 6459 $('#loading_bar').html("<img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/ajax-loader.gif'>"); 6460 $('#loading_bar').center(); 6461 6462 var PLU = $(this).find("#add-prompt").attr('ref'); 6463 var qty = $("#promo_button #"+PLU+"-qty").val(); 6464 var price = $("#promo_button #"+PLU+"-price").val(); 6465 6466 6467 // greater than 1 because do not include the 1st item, which is :: Please select :: 6468 if($("#promotional_content #"+PLU+"-item-option option").length > 1) 6469 { 6470 var option_id = $("#promotional_content #"+PLU+"-item-option").val(); 6471 } 6472 6473 var menu_id = $(this).parents("#menu_items").data('menuid'); 6474 $.ajax({
6475 url: 'core/mybasket.php', 6476 type: "POST", 6477 data: { 6478 "PLU":PLU, 6479 "qty":qty, 6480 "price":price, 6481 "option_id":option_id, 6482 "menu_id":menu_id 6483 }, 6484 success: function(data){ 6485 $('#loading_bar').html(''); 6486 get_cart_total(); 6487 $('#view-basket').html(data); 6488 last_io_selected = []; 6489 6490 if (!$('#free_item_plu').length) { 6491 new PNotify({ 6492 text: 'Item added to order.', 6493 width: "220px", 6494 delay: 3000, 6495 type: 'success' 6496 }); 6497 } 6498 6499 $("#promotional_container").removeClass('active'); 6500 } 6501 }); 6502 }); 6503 6504 $(".add-button").click(function(){ 6505 var parent_div = $(this).closest('li').attr('id'); 6506 var modal_div = $(this).closest('.modal-popup').attr('id'); 6507 6508 6509 if($("input[name='storestatus']").val()=='offline'){ 6510 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 6511 return; 6512 } 6513 6514 $('#loading_bar').html("<img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/ajax-loader.gif'>"); 6515 $('#loading_bar').center(); 6516 6517 var PLU = $(this).attr('ref'); 6518 if(!isNaN(PLU)){ 6519 var qty = $("#"+parent_div).find("#"+PLU+"-qty").val(); 6520 var price = $("#"+parent_div).find(+"#"+PLU+"-price").val(); 6521 }else{ 6522 var qty = $("#"+parent_div+" #"+PLU+"-qty").val(); 6523 var price = $("#"+parent_div+" #"+PLU+"-price").val(); 6524 } 6525 var group_id = $(this).attr('id'); 6526 6527 //check if item is from promotional prompt 6528 if(qty == null && price == null && $(this).attr('id')=="promo_button"){ 6529 var PLU = $(this).find("#add-prompt").attr('ref'); 6530 var qty = $("#promo_button #"+PLU+"-qty").val(); 6531 var price = $("#promo_button #"+PLU+"-price").val(); 6532 6533 6534 // greater than 1 because do not include the 1st item, which is :: Please select :: 6535 if($("#promotional_content #"+PLU+"-item-option option").length > 1) 6536 { 6537 var option_id = $("#promotional_content #"+PLU+"-item-option").val(); 6538 } 6539 } 6540 6541 if($("#"+parent_div+" #menu-"+group_id).length > 0){ 6542 price = $("#"+parent_div+" #menu-"+group_id+" option:selected").attr('ref'); 6543 qty = $("#"+parent_div+" #qty-"+group_id).val(); 6544 6545 if($("#"+parent_div+" .qty-label-popup").length > 0){ // if popup is enabled then we override the qty 6546 qty = $("#"+parent_div+" #qty-"+group_id).text(); 6547 var price = $("#"+parent_div+' input[name="menu-item-option-radio-'+group_id+'"]:checked').attr('price'); 6548 6549 if(qty <= 0){ // if item option only then we override the qty 6550 qty = $("#"+parent_div+" #qty-"+PLU).text(); 6551 } 6552 } 6553 } 6554 6555 var default_io, 6556 mio_ids = [], 6557 mio_msg = [], 6558 mio_req = 0; 6559 if($("#"+ parent_div +" .item-option-radio-list").length > 0){ 6560 option_id=""; 6561 $("#"+ parent_div +" .item-option-radio-list").each(function(){ 6562 if($(this).is(':checked')){ 6563 option_id += (option_id.trim()!="") ? "," : ""; 6564 option_id += $(this).attr('ref'); 6565 } 6566 6567 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 6568 mio_ids.push($(this).attr('mio-id')); 6569 } 6570 mio_ids = [... new Set(mio_ids)]; 6571 }); 6572 6573 if(typeof $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+ parent_div +" .item-option-radio-list:first").attr('multiple-io') !== false){ 6574 var io_div; 6575 $.each(mio_ids, function(key, val){ 6576 var io_selected = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:checked").length, 6577 io_min = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('min-io'), 6578 io_max = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").attr('max-io'), 6579 io_name = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().siblings("div.item-option-group-name-"+val).find("p").text(), 6580 io_container = $("#"+parent_div+" .item-option-radio-list[mio-id='"+val+"']:first").parent().parent(); 6581 6582 io_container.css({"padding":"", "border":""}); 6583 6584 if(io_selected < io_min){ 6585 io_container.css({"padding":"5px", "border":"1px solid red"}); 6586 mio_req++; 6587 6588 if(!io_div){ 6589 io_div = io_container; 6590 } 6591 } else if(io_selected > io_max){ 6592 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 6593 } 6594 }); 6595 6596 if(mio_req > 0){ 6597 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK");
6598 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 6599 $('#loading_bar').html(''); 6600 return false; 6601 } 6602 6603 if(mio_msg.length > 0){ 6604 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 6605 $('#loading_bar').html(''); 6606 return false; 6607 } 6608 6609 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 6610 checked_io($("#"+parent_div+" .item-option-radio-list"), "template4"); 6611 } else{ 6612 default_io = $("#"+ parent_div +" .item-option-radio-list:checked").attr('default-io'); 6613 if(typeof default_io !== "undefined" && default_io !== false){ 6614 $("#"+parent_div+" input[name=item-option-radio-"+group_id+"][ref='"+default_io+"']").attr('checked', true); 6615 } else{ 6616 $("#"+parent_div+" input[name=item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 6617 } 6618 checked_io($("#"+parent_div+" .item-option-radio-list:checked"), "template4"); 6619 } 6620 } 6621 var menu_id = $(this).parents("#menu_items").data('menuid'); 6622 $.ajax({
6623 url: 'core/mybasket.php', 6624 type: "POST", 6625 data: { 6626 "PLU":PLU, 6627 "qty":qty, 6628 "price":price, 6629 "option_id":option_id, 6630 "menu_id":menu_id 6631 }, 6632 success: function(data){ 6633 $('#loading_bar').html(''); 6634 get_cart_total(); 6635 $('#view-basket').html(data); 6636 last_io_selected = []; 6637 6638 if (!$('#free_item_plu').length) { 6639 new PNotify({ 6640 text: 'Item added to order.', 6641 width: "220px", 6642 delay: 3000, 6643 type: 'success' 6644 }); 6645 } 6646 6647 $("#promotional_container").removeClass('active'); 6648 } 6649 }); 6650 }); 6651 6652 $(".menu-item-option.form-control").change(function () { 6653 var parent_div = $(this).closest('li').attr('id'); 6654 var group_id = $(this).attr('ref'); 6655 var plu = $(this).val(); 6656 $("#customise-" + group_id).attr('ref', $(this).val()); 6657 $("#" + group_id).attr('ref', $(this).val()); 6658 6659 // we hide the custom button when it has hide-custom attr 6660 var hide_custom = $("#"+parent_div+" #menu-" + group_id + " option:selected").attr("hide-custom"); 6661 if (hide_custom){ 6662 $("#"+parent_div+" #menu-"+ group_id).parent().siblings(".item-add-buttons").children(".customise-page").css("display", "none"); 6663 }else{ 6664 $("#"+parent_div+" #menu-"+ group_id).parent().siblings(".item-add-buttons").children(".customise-page").css("display", "inline-block"); 6665 } 6666 6667 var io = $(this).closest("li").find(".item-options"); 6668 if (io) { 6669 var item_option = io.val(); 6670 $(io).attr("id",plu+"-option-id"); 6671 io.empty(); 6672 $.ajax({
6673 url: 'core/ajax/item_options.php', 6674 type: "POST", 6675 data: { 6676 "plu": plu 6677 }, 6678 dataType: 'json', 6679 success: function (data) { 6680 // For item-options that was hidden because of no item option on default size 6681 // We need to show it else hide if no data was returned 6682 if(data.length >= 1 && data){ 6683 $(io).fadeIn(0); 6684 var io_ids = data.map(function(key, value) { return key["id"]; }); 6685 }else{ 6686 var io_ids = []; 6687 $(io).fadeOut(0); 6688 } 6689 6690 6691 var option_selected=""; 6692 $.each(data, function (key, value) { 6693 //console.log(value.option_id); 6694 var price_txt = (value.item_price > 0) ? ' - $' + value.item_price : ''; 6695 6696 if(item_option != null && io_ids.includes(item_option)){ 6697 option_selected = item_option; 6698 } else{ 6699 if(value.default_item_option_id == value.id){ 6700 option_selected = value.id; 6701 } 6702 } 6703 6704 $('<option />', { 6705 value: value.id, 6706 text: value.item_name + price_txt, 6707 ref: value.price 6708 }).appendTo(io) 6709 }); 6710 6711 if(option_selected){ 6712 io.val(option_selected); 6713 } 6714 } 6715 }); 6716 option_id = $(this).closest("li").find(".item-options").val(); 6717 } 6718 }); 6719 6720 if(check_store_stat() == 'offline') { 6721 $("#item-buttons .add-button, .item-add-buttons .customise-add-button").live("click", function(){ 6722 if (check_store_stat() == "online") { 6723 location.reload(); 6724 } 6725 }); 6726 } //if condition end 6727 //end Refresh page function 6728 6729 }); 6730 6731 //Refresh page function when closing modal OOA-1543 6732 function check_store_stat() { 6733 var client_code = $("#client_code").val(); 6734 var data_status = ""; 6735 $.ajax({
6736 type: 'POST', 6737 async: false, 6738 url: 'core/ajax/check_store_status.php', 6739 data: {client_code: client_code}, 6740 success: function(data) { 6741 data_status = data; 6742 6743 } 6744 }); //ajax end 6745 return data_status; 6746 } //function check_store_stat() end 6747 6748 function get_item_option(parent_div){ 6749 option_id = ''; 6750 if($("#"+ parent_div +" .item-option-radio-list").length){ 6751 var popup_price = $("#"+ parent_div +" .active #popup-price").html(); 6752 6753 if(popup_price){ 6754 popup_price = parseFloat(popup_price.replace('$', '')); 6755 var item_option_price = 0; 6756 var item_option_ref=""; 6757 6758 if($("#"+ parent_div +" .item-option-radio-list:checked").length){ 6759 $("#"+ parent_div +" .item-option-radio-list:checked").each(function(){ 6760 item_option_price += ($(this).val() !== undefined) ? parseFloat($(this).val()) : 0; 6761 item_option_ref += (item_option_ref.trim()!="") ? ", " : ""; 6762 item_option_ref += $(this).attr('ref'); 6763 }); 6764 } 6765 6766 var toppings_price = $("#"+ parent_div +" .popup-orig-price").html(); 6767 toppings_price = parseFloat(toppings_price.replace('$', '')); 6768 6769 var popup_qty = $("#"+ parent_div +" .qty").html(); 6770 6771 var toppings_toppings_price = parseFloat(toppings_price) * parseInt(popup_qty); 6772 6773 item_option_price = item_option_price * parseInt(popup_qty); 6774 popup_price = popup_price * parseInt(popup_qty); 6775 6776 var upsell_total = 0; 6777 $("#"+parent_div+" .upsell-item-chkbox:checked").each(function(){ 6778 var upsell_price = parseFloat($(this).data("price")); 6779 upsell_total += upsell_price; 6780 }); 6781 6782 var total_prices = popup_price + toppings_toppings_price + item_option_price + upsell_total; 6783 6784 $("#"+ parent_div + " .popup-item-price").html('$'+formatNumber(total_prices)); 6785 6786 option_id = $("#"+ parent_div +" .item-option-radio-list:checked").attr('ref'); 6787 } 6788 } 6789 } 6790 </script>
6790 6791 <div id='menu-items' style='display:block'><div class='menu-item mi-218246' id='sides-block' style=''> 6792 6793 <h1>Sides</h1> <div id='menu_items' data-menuid='218246'> 6794 <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> 6795 <ul id='sides'> 6796 6797 6798 6799 6800<li 6801 id="GarlicBread_4148998_218246" 6802 style="" 6803 class="single" 6804 data-track-items="true" 6805 data-plu="SID01" 6806 data-item-name="Garlic Bread" 6807 data-item-category="Sides" 6808 data-price="8" 6809 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6810 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6811 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;"> 6812 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'> 6813 <div class='modal modal-popup fade' id='add-popup-SID01-218246' role='dialog'> 6814 <div class='modal-dialog modal-dialog-popup' > 6815 <div class='modal-content modal-content-popup'> 6816 <div class='modal-header'> 6817 <p class='close close-popup' data-dismiss='modal'>×</p> 6818 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 6819 <span>Garlic Bread</span> 6820 </h4> 6821 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>9" Sliced Garlic Bread</div> 6822 </div> 6823 <div class='modal-body' style='background: #ececec78;'> 6824 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6825 <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'> 6826 <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> 6827 </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> 6828 <div class="modal-footer" style="text-align: center; position: relative;"> 6829 <div class="footer_mobile"></div> 6830 <div class="footer_overlay"></div> 6831 <div class="item-add-buttons"> 6832 <div class="col-md-3" style="padding: 0;"> 6833 <div class="qty-selection"> 6834 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID01"><i class="glyphicon glyphicon-minus"></i></button> 6835 <label id="qty-SID01" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6836 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID01"><i class="glyphicon glyphicon-plus"></i></button> 6837 </div> 6838 </div> 6839 <div class="col-md-6"> 6840 <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"/> 6841 </div> 6842 <div class="col-md-3" style="padding: 0;"> 6843 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6844 <p class="popup-item-price" style="text-align: right;"></p> 6845 </div> 6846 </div> 6847 </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 6848 id="GarlicCheeseBread_4148999_218246" 6849 style="" 6850 class="single" 6851 data-track-items="true" 6852 data-plu="SID02" 6853 data-item-name="Garlic Cheese Bread" 6854 data-item-category="Sides" 6855 data-price="22" 6856 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6857 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6858 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;"> 6859 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'> 6860 <div class='modal modal-popup fade' id='add-popup-SID02-218246' role='dialog'> 6861 <div class='modal-dialog modal-dialog-popup' > 6862 <div class='modal-content modal-content-popup'> 6863 <div class='modal-header'> 6864 <p class='close close-popup' data-dismiss='modal'>×</p> 6865 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6866 <span>Garlic Cheese Bread</span> 6867 </h4> 6868 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Our Famous fluffy & Crunchy Garlic Cheese Bread</div> 6869 </div> 6870 <div class='modal-body' style='background: #ececec78;'> 6871 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6872 <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'> 6873 <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> 6874 </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'> 6875 <div class='multi-option-name item-option-group-name-53789' style='position:relative; float:left; width:100%;'> 6876 <p style='font-weight:600; padding-bottom:0px; width:100%'>Cheesy bread opt</p> 6877 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 6878 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6879 <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' > 6880 <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> 6881 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 6882 <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' > 6883 <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> 6884 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6885 <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' > 6886 <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> 6887 </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> 6888 <div class="modal-footer" style="text-align: center; position: relative;"> 6889 <div class="footer_mobile"></div> 6890 <div class="footer_overlay"></div> 6891 <div class="item-add-buttons"> 6892 <div class="col-md-3" style="padding: 0;"> 6893 <div class="qty-selection"> 6894 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID02"><i class="glyphicon glyphicon-minus"></i></button> 6895 <label id="qty-SID02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6896 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID02"><i class="glyphicon glyphicon-plus"></i></button> 6897 </div> 6898 </div> 6899 <div class="col-md-6"> 6900 <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"/> 6901 </div> 6902 <div class="col-md-3" style="padding: 0;"> 6903 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6904 <p class="popup-item-price" style="text-align: right;"></p> 6905 </div> 6906 </div> 6907 </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 6908 id="ChilliCheeseBread_6479595_218246" 6909 style="" 6910 class="single" 6911 data-track-items="true" 6912 data-plu="SID03" 6913 data-item-name="Chilli Cheese Bread" 6914 data-item-category="Sides" 6915 data-price="25" 6916 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6917 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6918 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;"> 6919 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'> 6920 <div class='modal modal-popup fade' id='add-popup-SID03-218246' role='dialog'> 6921 <div class='modal-dialog modal-dialog-popup' > 6922 <div class='modal-content modal-content-popup'> 6923 <div class='modal-header'> 6924 <p class='close close-popup' data-dismiss='modal'>×</p> 6925 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6926 <span>Chilli Cheese Bread</span> 6927 </h4> 6928 <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> 6929 </div> 6930 <div class='modal-body' style='background: #ececec78;'> 6931 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6932 <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'> 6933 <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> 6934 </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'> 6935 <div class='multi-option-name item-option-group-name-53789' style='position:relative; float:left; width:100%;'> 6936 <p style='font-weight:600; padding-bottom:0px; width:100%'>Cheesy bread opt</p> 6937 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 6938 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6939 <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' > 6940 <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> 6941 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 6942 <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' > 6943 <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> 6944 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 6945 <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' > 6946 <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> 6947 </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> 6948 <div class="modal-footer" style="text-align: center; position: relative;"> 6949 <div class="footer_mobile"></div> 6950 <div class="footer_overlay"></div> 6951 <div class="item-add-buttons"> 6952 <div class="col-md-3" style="padding: 0;"> 6953 <div class="qty-selection"> 6954 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID03"><i class="glyphicon glyphicon-minus"></i></button> 6955 <label id="qty-SID03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 6956 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID03"><i class="glyphicon glyphicon-plus"></i></button> 6957 </div> 6958 </div> 6959 <div class="col-md-6"> 6960 <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"/> 6961 </div> 6962 <div class="col-md-3" style="padding: 0;"> 6963 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 6964 <p class="popup-item-price" style="text-align: right;"></p> 6965 </div> 6966 </div> 6967 </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 6968 id="VegemiteCheeseBread_12173895_218246" 6969 style="" 6970 class="single" 6971 data-track-items="true" 6972 data-plu="SID08" 6973 data-item-name="Vegemite Cheese Bread" 6974 data-item-category="Sides" 6975 data-price="25" 6976 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 6977 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 6978 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;"> 6979 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'> 6980 <div class='modal modal-popup fade' id='add-popup-SID08-218246' role='dialog'> 6981 <div class='modal-dialog modal-dialog-popup' > 6982 <div class='modal-content modal-content-popup'> 6983 <div class='modal-header'> 6984 <p class='close close-popup' data-dismiss='modal'>×</p> 6985 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
6986 <span>Vegemite Cheese Bread</span> 6987 </h4> 6988 <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> 6989 </div> 6990 <div class='modal-body' style='background: #ececec78;'> 6991 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 6992 <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'> 6993 <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> 6994 </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> 6995 <div class="modal-footer" style="text-align: center; position: relative;"> 6996 <div class="footer_mobile"></div> 6997 <div class="footer_overlay"></div> 6998 <div class="item-add-buttons"> 6999 <div class="col-md-3" style="padding: 0;"> 7000 <div class="qty-selection"> 7001 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="SID08"><i class="glyphicon glyphicon-minus"></i></button> 7002 <label id="qty-SID08" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7003 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="SID08"><i class="glyphicon glyphicon-plus"></i></button> 7004 </div> 7005 </div> 7006 <div class="col-md-6"> 7007 <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"/> 7008 </div> 7009 <div class="col-md-3" style="padding: 0;"> 7010 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7011 <p class="popup-item-price" style="text-align: right;"></p> 7012 </div> 7013 </div> 7014 </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 7015 id="packwingbits_4149004_218246" 7016 style="" 7017 class="single" 7018 data-track-items="true" 7019 data-plu="M03" 7020 data-item-name="6 pack wing bits" 7021 data-item-category="Sides" 7022 data-price="14" 7023 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7024 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7025 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/thumbs/Chicken-wing.
7025webp'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7026 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'> 7027 <div class='modal modal-popup fade' id='add-popup-M03-218246' role='dialog'> 7028 <div class='modal-dialog modal-dialog-popup' > 7029 <div class='modal-content modal-content-popup'> 7030 <div class='modal-header'> 7031 <p class='close close-popup' data-dismiss='modal'>×</p> 7032 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7033 <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> 7034 </h4> 7035 <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> 7036 </div> 7037 <div class='modal-body' style='background: #ececec78;'> 7038 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7039 <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'> 7040 <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> 7041 </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'> 7042 <div class='multi-option-name item-option-group-name-139129' style='position:relative; float:left; width:100%;'> 7043 <p style='font-weight:600; padding-bottom:0px; width:100%'>Flavours</p> 7044 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7045 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7046 <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' > 7047 <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> 7048 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7049 <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' > 7050 <label for='item-option-M03-218246-453201' style='font-weight:normal
7050!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> 7051 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7052 <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' > 7053 <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> 7054 </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> 7055 <div class="modal-footer" style="text-align: center; position: relative;"> 7056 <div class="footer_mobile"></div> 7057 <div class="footer_overlay"></div> 7058 <div class="item-add-buttons"> 7059 <div class="col-md-3" style="padding: 0;"> 7060 <div class="qty-selection"> 7061 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="M03"><i class="glyphicon glyphicon-minus"></i></button> 7062 <label id="qty-M03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7063 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="M03"><i class="glyphicon glyphicon-plus"></i></button> 7064 </div> 7065 </div> 7066 <div class="col-md-6"> 7067 <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"/> 7068 </div> 7069 <div class="col-md-3" style="padding: 0;"> 7070 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7071 <p class="popup-item-price" style="text-align: right;"></p> 7072 </div> 7073 </div> 7074 </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 7075 id="Ribs_833612_218246" 7076 style="" 7077 class="group" 7078 data-track-items="true" 7079 data-plu="" 7080 data-item-name="Ribs" 7081 data-item-category="Sides" 7082 7083 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7084 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7085 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;"> 7086 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'> 7087 <div class='modal modal-popup fade' id='add-popup-833612-218246' role='dialog'> 7088 <div class='modal-dialog modal-dialog-popup' > 7089 <div class='modal-content modal-content-popup'> 7090 <div class='modal-header'> 7091 <p class='close close-popup' data-dismiss='modal'>×</p> 7092 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7093 <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> 7094 </h4> 7095 <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> 7096 </div> 7097 <div class='modal-body' style='background: #ececec78;'> 7098 <p class='alert alert-danger' id='toppings_left'></p> 7099 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7100 <div class='menu-item-option'> 7101 <div class='menu-item-option menu-item-option-popup' id='menu-833612' ref='833612'><div class='input-group-radio'> 7102 <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' > 7103 <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> 7104 </div><div class='input-group-radio'> 7105 <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' > 7106 <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> 7107 </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> 7108 <div class="modal-footer" style="text-align: center; position: relative;"> 7109 <div class="footer_mobile"></div> 7110 <div class="footer_overlay"></div> 7111 <div class="item-add-buttons"> 7112 <div class="col-md-3" style="padding: 0;"> 7113 <div class="qty-selection"> 7114 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833612"><i class="glyphicon glyphicon-minus"></i></button> 7115 <label id="qty-833612" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7116 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833612"><i class="glyphicon glyphicon-plus"></i></button> 7117 </div> 7118 </div> 7119 <div class="col-md-6"> 7120 <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"/> 7121 </div> 7122 <div class="col-md-3" style="padding: 0;"> 7123 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7124 <p class="popup-item-price" style="text-align: right;"></p> 7125 </div> 7126 </div> 7127 </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 7128 id="DippingSauce_10833130_218246" 7129 style="" 7130 class="single" 7131 data-track-items="true" 7132 data-plu="T73" 7133 data-item-name="Dipping Sauce" 7134 data-item-category="Sides" 7135 data-price="4" 7136 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7137 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7138 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;"> 7139 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'> 7140 <div class='modal modal-popup fade' id='add-popup-T73-218246' role='dialog'> 7141 <div class='modal-dialog modal-dialog-popup' > 7142 <div class='modal-content modal-content-popup'> 7143 <div class='modal-header'> 7144 <p class='close close-popup' data-dismiss='modal'>×</p> 7145 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7146 <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> 7147 </h4> 7148 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'></div> 7149 </div> 7150 <div class='modal-body' style='background: #ececec78;'> 7151 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7152 <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'> 7153 <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> 7154 </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'> 7155 <div class='multi-option-name item-option-group-name-151897' style='position:relative; float:left; width:100%;'> 7156 <p style='font-weight:600; padding-bottom:0px; width:100%'>Dippin Sauce</p> 7157 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7158 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7159 <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' > 7160 <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> 7161 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7162 <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' > 7163 <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> 7164 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7165 <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' > 7166 <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> 7167 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7168 <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' > 7169 <label for='item-option-T73-218246-495187' style='font-weight:normal
7169!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> 7170 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7171 <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' > 7172 <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> 7173 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7174 <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' > 7175 <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> 7176 </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> 7177 <div class="modal-footer" style="text-align: center; position: relative;"> 7178 <div class="footer_mobile"></div> 7179 <div class="footer_overlay"></div> 7180 <div class="item-add-buttons"> 7181 <div class="col-md-3" style="padding: 0;"> 7182 <div class="qty-selection"> 7183 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="T73"><i class="glyphicon glyphicon-minus"></i></button> 7184 <label id="qty-T73" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7185 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="T73"><i class="glyphicon glyphicon-plus"></i></button> 7186 </div> 7187 </div> 7188 <div class="col-md-6"> 7189 <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"/> 7190 </div> 7191 <div class="col-md-3" style="padding: 0;"> 7192 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7193 <p class="popup-item-price" style="text-align: right;"></p> 7194 </div> 7195 </div> 7196 </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> 7197 <div class="spacer"></div> 7198 </div> 7199 7200 7201</div> 7202 7203<div class='menu-item mi-218240' id='pasta-block' style=''> 7204 7205 <h1>Pasta</h1> <div id='menu_items' data-menuid='218240'> 7206 <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> 7207 <ul id='pasta'> 7208 <li 7209 id="ChickenCarbonara_4148983_218240" 7210 style="" 7211 class="single" 7212 data-track-items="true" 7213 data-plu="PAS01" 7214 data-item-name="Chicken Carbonara" 7215 data-item-category="Pasta" 7216 data-price="29" 7217 ><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;"> 7218 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'> 7219 <div class='modal modal-popup fade' id='add-popup-PAS01-218240' role='dialog'> 7220 <div class='modal-dialog modal-dialog-popup' > 7221 <div class='modal-content modal-content-popup'> 7222 <div class='modal-header'> 7223 <p class='close close-popup' data-dismiss='modal'>×</p> 7224 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7225 <span>Chicken Carbonara</span> 7226 </h4> 7227 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne Pasta with chicken, creamy garlic sauce, bacon & parmesan</div> 7228 </div> 7229 <div class='modal-body' style='background: #ececec78;'> 7230 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7231 <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'> 7232 <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> 7233 </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> 7234 <div class="modal-footer" style="text-align: center; position: relative;"> 7235 <div class="footer_mobile"></div> 7236 <div class="footer_overlay"></div> 7237 <div class="item-add-buttons"> 7238 <div class="col-md-3" style="padding: 0;"> 7239 <div class="qty-selection"> 7240 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS01"><i class="glyphicon glyphicon-minus"></i></button> 7241 <label id="qty-PAS01" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7242 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS01"><i class="glyphicon glyphicon-plus"></i></button> 7243 </div> 7244 </div> 7245 <div class="col-md-6"> 7246 <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"/> 7247 </div> 7248 <div class="col-md-3" style="padding: 0;"> 7249 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7250 <p class="popup-item-price" style="text-align: right;"></p> 7251 </div> 7252 </div> 7253 </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 7254 id="ChickenMushroomPasta_4148986_218240" 7255 style="" 7256 class="single" 7257 data-track-items="true" 7258 data-plu="PAS04" 7259 data-item-name="Chicken Mushroom Pasta" 7260 data-item-category="Pasta" 7261 data-price="29" 7262 ><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;"> 7263 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'> 7264 <div class='modal modal-popup fade' id='add-popup-PAS04-218240' role='dialog'> 7265 <div class='modal-dialog modal-dialog-popup' > 7266 <div class='modal-content modal-content-popup'> 7267 <div class='modal-header'> 7268 <p class='close close-popup' data-dismiss='modal'>×</p> 7269 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7270 <span>Chicken Mushroom Pasta</span> 7271 </h4> 7272 <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> 7273 </div> 7274 <div class='modal-body' style='background: #ececec78;'> 7275 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7276 <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'> 7277 <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> 7278 </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> 7279 <div class="modal-footer" style="text-align: center; position: relative;"> 7280 <div class="footer_mobile"></div> 7281 <div class="footer_overlay"></div> 7282 <div class="item-add-buttons"> 7283 <div class="col-md-3" style="padding: 0;"> 7284 <div class="qty-selection"> 7285 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS04"><i class="glyphicon glyphicon-minus"></i></button> 7286 <label id="qty-PAS04" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7287 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS04"><i class="glyphicon glyphicon-plus"></i></button> 7288 </div> 7289 </div> 7290 <div class="col-md-6"> 7291 <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"/> 7292 </div> 7293 <div class="col-md-3" style="padding: 0;"> 7294 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7295 <p class="popup-item-price" style="text-align: right;"></p> 7296 </div> 7297 </div> 7298 </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 7299 id="BeefBolognese_4148984_218240" 7300 style="" 7301 class="single" 7302 data-track-items="true" 7303 data-plu="PAS02" 7304 data-item-name="Beef Bolognese" 7305 data-item-category="Pasta" 7306 data-price="29" 7307 ><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;"> 7308 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'> 7309 <div class='modal modal-popup fade' id='add-popup-PAS02-218240' role='dialog'> 7310 <div class='modal-dialog modal-dialog-popup' > 7311 <div class='modal-content modal-content-popup'> 7312 <div class='modal-header'> 7313 <p class='close close-popup' data-dismiss='modal'>×</p> 7314 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7315 <span>Beef Bolognese</span> 7316 </h4> 7317 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne pasta with Beef Bolognese sauce & parmesan</div> 7318 </div> 7319 <div class='modal-body' style='background: #ececec78;'> 7320 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7321 <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'> 7322 <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> 7323 </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> 7324 <div class="modal-footer" style="text-align: center; position: relative;"> 7325 <div class="footer_mobile"></div> 7326 <div class="footer_overlay"></div> 7327 <div class="item-add-buttons"> 7328 <div class="col-md-3" style="padding: 0;"> 7329 <div class="qty-selection"> 7330 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS02"><i class="glyphicon glyphicon-minus"></i></button> 7331 <label id="qty-PAS02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7332 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS02"><i class="glyphicon glyphicon-plus"></i></button> 7333 </div> 7334 </div> 7335 <div class="col-md-6"> 7336 <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"/> 7337 </div> 7338 <div class="col-md-3" style="padding: 0;"> 7339 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7340 <p class="popup-item-price" style="text-align: right;"></p> 7341 </div> 7342 </div> 7343 </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 7344 id="PestoPasta_4148985_218240" 7345 style="" 7346 class="single" 7347 data-track-items="true" 7348 data-plu="PAS03" 7349 data-item-name="Pesto Pasta" 7350 data-item-category="Pasta" 7351 data-price="29" 7352 ><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;"> 7353 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'> 7354 <div class='modal modal-popup fade' id='add-popup-PAS03-218240' role='dialog'> 7355 <div class='modal-dialog modal-dialog-popup' > 7356 <div class='modal-content modal-content-popup'> 7357 <div class='modal-header'> 7358 <p class='close close-popup' data-dismiss='modal'>×</p> 7359 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7360 <span>Pesto Pasta</span> 7361 </h4> 7362 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Penne Pasta, cream, basil pesto, spinnach, cherry tomato & parmesan</div> 7363 </div> 7364 <div class='modal-body' style='background: #ececec78;'> 7365 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7366 <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'> 7367 <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> 7368 </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> 7369 <div class="modal-footer" style="text-align: center; position: relative;"> 7370 <div class="footer_mobile"></div> 7371 <div class="footer_overlay"></div> 7372 <div class="item-add-buttons"> 7373 <div class="col-md-3" style="padding: 0;"> 7374 <div class="qty-selection"> 7375 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS03"><i class="glyphicon glyphicon-minus"></i></button> 7376 <label id="qty-PAS03" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7377 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS03"><i class="glyphicon glyphicon-plus"></i></button> 7378 </div> 7379 </div> 7380 <div class="col-md-6"> 7381 <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"/> 7382 </div> 7383 <div class="col-md-3" style="padding: 0;"> 7384 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7385 <p class="popup-item-price" style="text-align: right;"></p> 7386 </div> 7387 </div> 7388 </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 7389 id="GarlicPennePrawns_7125182_218240" 7390 style="" 7391 class="single" 7392 data-track-items="true" 7393 data-plu="PAS06" 7394 data-item-name="Garlic Penne Prawns" 7395 data-item-category="Pasta" 7396 data-price="36" 7397 ><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;"> 7398 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'> 7399 <div class='modal modal-popup fade' id='add-popup-PAS06-218240' role='dialog'> 7400 <div class='modal-dialog modal-dialog-popup' > 7401 <div class='modal-content modal-content-popup'> 7402 <div class='modal-header'> 7403 <p class='close close-popup' data-dismiss='modal'>×</p> 7404 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7405 <span>Garlic Penne Prawns</span> 7406 </h4> 7407 <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> 7408 </div> 7409 <div class='modal-body' style='background: #ececec78;'> 7410 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7411 <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'> 7412 <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> 7413 </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> 7414 <div class="modal-footer" style="text-align: center; position: relative;"> 7415 <div class="footer_mobile"></div> 7416 <div class="footer_overlay"></div> 7417 <div class="item-add-buttons"> 7418 <div class="col-md-3" style="padding: 0;"> 7419 <div class="qty-selection"> 7420 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS06"><i class="glyphicon glyphicon-minus"></i></button> 7421 <label id="qty-PAS06" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7422 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS06"><i class="glyphicon glyphicon-plus"></i></button> 7423 </div> 7424 </div> 7425 <div class="col-md-6"> 7426 <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"/> 7427 </div> 7428 <div class="col-md-3" style="padding: 0;"> 7429 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7430 <p class="popup-item-price" style="text-align: right;"></p> 7431 </div> 7432 </div> 7433 </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 7434 id="RastaPasta_19298000_218240" 7435 style="" 7436 class="single" 7437 data-track-items="true" 7438 data-plu="PAS10" 7439 data-item-name="Rasta Pasta" 7440 data-item-category="Pasta" 7441 data-price="29" 7442 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7443 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7444 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;"> 7445 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'> 7446 <div class='modal modal-popup fade' id='add-popup-PAS10-218240' role='dialog'> 7447 <div class='modal-dialog modal-dialog-popup' > 7448 <div class='modal-content modal-content-popup'> 7449 <div class='modal-header'> 7450 <p class='close close-popup' data-dismiss='modal'>×</p> 7451 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7452 <span>Rasta Pasta</span> 7453 </h4> 7454 <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> 7455 </div> 7456 <div class='modal-body' style='background: #ececec78;'> 7457 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7458 <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'> 7459 <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> 7460 </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> 7461 <div class="modal-footer" style="text-align: center; position: relative;"> 7462 <div class="footer_mobile"></div> 7463 <div class="footer_overlay"></div> 7464 <div class="item-add-buttons"> 7465 <div class="col-md-3" style="padding: 0;"> 7466 <div class="qty-selection"> 7467 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="PAS10"><i class="glyphicon glyphicon-minus"></i></button> 7468 <label id="qty-PAS10" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7469 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="PAS10"><i class="glyphicon glyphicon-plus"></i></button> 7470 </div> 7471 </div> 7472 <div class="col-md-6"> 7473 <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"/> 7474 </div> 7475 <div class="col-md-3" style="padding: 0;"> 7476 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7477 <p class="popup-item-price" style="text-align: right;"></p> 7478 </div> 7479 </div> 7480 </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> 7481 <div class="spacer"></div> 7482 </div> 7483 <div id="menu-218240-upsell-items" style="display:none"> 7484 <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"> 7485 <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"> 7486 <input id="upsell-item-218240-DR01" class="upsell-item-chkbox" data-plu="DR01" data-price="8" t
7486ype="checkbox"> 7487 <span></span> 7488 </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"> 7489 <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"> 7490 <input id="upsell-item-218240-SID02" class="upsell-item-chkbox" data-plu="SID02" data-price="22" type="checkbox"> 7491 <span></span> 7492 </div></label></div> </div> 7493 7494 7495</div> 7496 7497<div class='menu-item mi-218242' id='pizza-block' style=''> 7498 7499 <h1>Pizza</h1> <div id='menu_items' data-menuid='218242'> 7500 <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> 7501 <ul id='pizza'> 7502 <li 7503 id="Carboliciouslimitedtime_19380670_218242" 7504 style="" 7505 class="single" 7506 data-track-items="true" 7507 data-plu="STP45" 7508 data-item-name="Carbolicious (limited time)" 7509 data-item-category="Pizza" 7510 data-price="39" 7511 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7512 <div class="badge"> 7513 7514 <span class="visual-tag-label">new</span> 7515 </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;"> 7516 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'> 7517 <div class='modal modal-popup fade' id='add-popup-STP45-218242' role='dialog'> 7518 <div class='modal-dialog modal-dialog-popup' > 7519 <div class='modal-content modal-content-popup'> 7520 <div class='modal-header'> 7521 <p class='close close-popup' data-dismiss='modal'>×</p> 7522 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7523 <span>Carbolicious (limited time)</span> 7524 </h4> 7525 <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> 7526 </div> 7527 <div class='modal-body' style='background: #ececec78;'> 7528 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 7529 <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'> 7530 <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> 7531 </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> 7532 <div class="modal-footer" style="text-align: center; position: relative;"> 7533 <div class="footer_mobile"></div> 7534 <div class="footer_overlay"></div> 7535 <div class="item-add-buttons"> 7536 <div class="col-md-3" style="padding: 0;"> 7537 <div class="qty-selection"> 7538 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="STP45"><i class="glyphicon glyphicon-minus"></i></button> 7539 <label id="qty-STP45" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7540 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="STP45"><i class="glyphicon glyphicon-plus"></i></button> 7541 </div> 7542 </div> 7543 <div class="col-md-6"> 7544 <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"/> 7545 </div> 7546 <div class="col-md-3" style="padding: 0;"> 7547 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7548 <p class="popup-item-price" style="text-align: right;"></p> 7549 </div> 7550 </div> 7551 </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 7552 id="FullStack_833115_218242" 7553 style="" 7554 class="group" 7555 data-track-items="true" 7556 data-plu="" 7557 data-item-name="Full Stack" 7558 data-item-category="Pizza" 7559 7560 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7561 <div class="badge"> 7562
7563 <span class="visual-tag-label">Chef's Recommendation</span> 7564 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7565 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'> 7566 <div class='modal modal-popup fade' id='add-popup-833115-218242' role='dialog'> 7567 <div class='modal-dialog modal-dialog-popup' > 7568 <div class='modal-content modal-content-popup'> 7569 <div class='modal-header'> 7570 <p class='close close-popup' data-dismiss='modal'>×</p> 7571 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7572 <span>Full Stack</span> 7573 </h4> 7574 <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> 7575 </div> 7576 <div class='modal-body' style='background: #ececec78;'> 7577 <p class='alert alert-danger' id='toppings_left'></p> 7578 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7579 <div class='menu-item-option'> 7580 <div class='menu-item-option menu-item-option-popup' id='menu-833115' ref='833115'><div class='input-group-radio'> 7581 <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' > 7582 <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> 7583 </div><div class='input-group-radio'> 7584 <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' > 7585 <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> 7586 </div><div class='input-group-radio'> 7587 <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' > 7588 <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> 7589 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7590 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7591 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7592 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7593 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7594 <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' > 7595 <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> 7596 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7597 <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' > 7598 <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> 7599 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7600 <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' > 7601 <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> 7602 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7603 <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' > 7604 <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> 7605 </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> 7606 <div class="modal-footer" style="text-align: center; position: relative;"> 7607 <div class="footer_mobile"></div> 7608 <div class="footer_overlay"></div> 7609 <div class="item-add-buttons"> 7610 <div class="col-md-3" style="padding: 0;"> 7611 <div class="qty-selection"> 7612 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833115"><i class="glyphicon glyphicon-minus"></i></button> 7613 <label id="qty-833115" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7614 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833115"><i class="glyphicon glyphicon-plus"></i></button> 7615 </div> 7616 </div> 7617 <div class="col-md-6"> 7618 <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"/> 7619 </div> 7620 <div class="col-md-3" style="padding: 0;"> 7621 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7622 <p class="popup-item-price" style="text-align: right;"></p> 7623 </div> 7624 </div> 7625 </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 7626 id="DBSupreme_833116_218242" 7627 style="" 7628 class="group" 7629 data-track-items="true" 7630 data-plu="" 7631 data-item-name="DB Supreme" 7632 data-item-category="Pizza" 7633 7634 ><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;"> 7635 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'> 7636 <div class='modal modal-popup fade' id='add-popup-833116-218242' role='dialog'> 7637 <div class='modal-dialog modal-dialog-popup' > 7638 <div class='modal-content modal-content-popup'> 7639 <div class='modal-header'> 7640 <p class='close close-popup' data-dismiss='modal'>×</p> 7641 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7642 <span>DB Supreme</span> 7643 </h4> 7644 <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> 7645 </div> 7646 <div class='modal-body' style='background: #ececec78;'> 7647 <p class='alert alert-danger' id='toppings_left'></p> 7648 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7649 <div class='menu-item-option'> 7650 <div class='menu-item-option menu-item-option-popup' id='menu-833116' ref='833116'><div class='input-group-radio'> 7651 <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' > 7652 <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> 7653 </div><div class='input-group-radio'> 7654 <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' > 7655 <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> 7656 </div><div class='input-group-radio'> 7657 <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' > 7658 <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> 7659 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7660 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7661 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 7662 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7663 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7664 <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' > 7665 <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> 7666 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7667 <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' > 7668 <label for='item-option-833116-218242-1692757' style='font-weight:normal
7668!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> 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='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' > 7671 <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> 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='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' > 7674 <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> 7675 </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> 7676 <div class="modal-footer" style="text-align: center; position: relative;"> 7677 <div class="footer_mobile"></div> 7678 <div class="footer_overlay"></div> 7679 <div class="item-add-buttons"> 7680 <div class="col-md-3" style="padding: 0;"> 7681 <div class="qty-selection"> 7682 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833116"><i class="glyphicon glyphicon-minus"></i></button> 7683 <label id="qty-833116" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7684 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833116"><i class="glyphicon glyphicon-plus"></i></button> 7685 </div> 7686 </div> 7687 <div class="col-md-6"> 7688 <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"/> 7689 </div> 7690 <div class="col-md-3" style="padding: 0;"> 7691 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7692 <p class="popup-item-price" style="text-align: right;"></p> 7693 </div> 7694 </div> 7695 </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 7696 id="MeatBeater_833117_218242" 7697 style="" 7698 class="group" 7699 data-track-items="true" 7700 data-plu="" 7701 data-item-name="Meat Beater" 7702 data-item-category="Pizza" 7703 7704 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7705 <div class="badge"> 7706
7707 <span class="visual-tag-label">Best Seller</span> 7708 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7709 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'> 7710 <div class='modal modal-popup fade' id='add-popup-833117-218242' role='dialog'> 7711 <div class='modal-dialog modal-dialog-popup' > 7712 <div class='modal-content modal-content-popup'> 7713 <div class='modal-header'> 7714 <p class='close close-popup' data-dismiss='modal'>×</p> 7715 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7716 <span>Meat Beater</span> 7717 </h4> 7718 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Ham, Pepperoni, Sliced Italian Sausage, Streaky Bacon and Cheese</div> 7719 </div> 7720 <div class='modal-body' style='background: #ececec78;'> 7721 <p class='alert alert-danger' id='toppings_left'></p> 7722 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7723 <div class='menu-item-option'> 7724 <div class='menu-item-option menu-item-option-popup' id='menu-833117' ref='833117'><div class='input-group-radio'> 7725 <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' > 7726 <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> 7727 </div><div class='input-group-radio'> 7728 <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' > 7729 <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> 7730 </div><div class='input-group-radio'> 7731 <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' > 7732 <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> 7733 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7734 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7735 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7736 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7737 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7738 <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' > 7739 <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> 7740 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7741 <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' > 7742 <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> 7743 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7744 <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' > 7745 <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> 7746 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7747 <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' > 7748 <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> 7749 </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> 7750 <div class="modal-footer" style="text-align: center; position: relative;"> 7751 <div class="footer_mobile"></div> 7752 <div class="footer_overlay"></div> 7753 <div class="item-add-buttons"> 7754 <div class="col-md-3" style="padding: 0;"> 7755 <div class="qty-selection"> 7756 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833117"><i class="glyphicon glyphicon-minus"></i></button> 7757 <label id="qty-833117" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7758 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833117"><i class="glyphicon glyphicon-plus"></i></button> 7759 </div> 7760 </div> 7761 <div class="col-md-6"> 7762 <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"/> 7763 </div> 7764 <div class="col-md-3" style="padding: 0;"> 7765 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7766 <p class="popup-item-price" style="text-align: right;"></p> 7767 </div> 7768 </div> 7769 </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 7770 id="PickleLicious_833118_218242" 7771 style="" 7772 class="group" 7773 data-track-items="true" 7774 data-plu="" 7775 data-item-name="Pickle-Licious " 7776 data-item-category="Pizza" 7777 7778 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 7779 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 7780 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;"> 7781 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'> 7782 <div class='modal modal-popup fade' id='add-popup-833118-218242' role='dialog'> 7783 <div class='modal-dialog modal-dialog-popup' > 7784 <div class='modal-content modal-content-popup'> 7785 <div class='modal-header'> 7786 <p class='close close-popup' data-dismiss='modal'>×</p> 7787 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
7788 <span>Pickle-Licious </span> 7789 </h4> 7790 <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> 7791 </div> 7792 <div class='modal-body' style='background: #ececec78;'> 7793 <p class='alert alert-danger' id='toppings_left'></p> 7794 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7795 <div class='menu-item-option'> 7796 <div class='menu-item-option menu-item-option-popup' id='menu-833118' ref='833118'><div class='input-group-radio'> 7797 <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' > 7798 <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> 7799 </div><div class='input-group-radio'> 7800 <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' > 7801 <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> 7802 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7803 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7804 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 7805 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7806 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7807 <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' > 7808 <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> 7809 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7810 <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' > 7811 <label for='item-option-833118-218242-1692757' style='font-weight:normal
7811!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> 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='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' > 7814 <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> 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='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' > 7817 <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> 7818 </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> 7819 <div class="modal-footer" style="text-align: center; position: relative;"> 7820 <div class="footer_mobile"></div> 7821 <div class="footer_overlay"></div> 7822 <div class="item-add-buttons"> 7823 <div class="col-md-3" style="padding: 0;"> 7824 <div class="qty-selection"> 7825 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833118"><i class="glyphicon glyphicon-minus"></i></button> 7826 <label id="qty-833118" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7827 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833118"><i class="glyphicon glyphicon-plus"></i></button> 7828 </div> 7829 </div> 7830 <div class="col-md-6"> 7831 <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"/> 7832 </div> 7833 <div class="col-md-3" style="padding: 0;"> 7834 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7835 <p class="popup-item-price" style="text-align: right;"></p> 7836 </div> 7837 </div> 7838 </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 7839 id="Hawaiian_833119_218242" 7840 style="" 7841 class="group" 7842 data-track-items="true" 7843 data-plu="" 7844 data-item-name="Hawaiian" 7845 data-item-category="Pizza" 7846 7847 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7848 <div class="badge"> 7849
7850 <span class="visual-tag-label">Most Popular</span> 7851 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7852 Hawaiian</div></div><div class="clear"></div><div class="item-description">Ham, Pineapple, Pizza Sauce, Cheese</div><div id='item-buttons'> 7853 <div class='modal modal-popup fade' id='add-popup-833119-218242' role='dialog'> 7854 <div class='modal-dialog modal-dialog-popup' > 7855 <div class='modal-content modal-content-popup'> 7856 <div class='modal-header'> 7857 <p class='close close-popup' data-dismiss='modal'>×</p> 7858 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7859 <span>Hawaiian</span> 7860 </h4> 7861 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Ham, Pineapple, Pizza Sauce, Cheese</div> 7862 </div> 7863 <div class='modal-body' style='background: #ececec78;'> 7864 <p class='alert alert-danger' id='toppings_left'></p> 7865 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7866 <div class='menu-item-option'> 7867 <div class='menu-item-option menu-item-option-popup' id='menu-833119' ref='833119'><div class='input-group-radio'> 7868 <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' > 7869 <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> 7870 </div><div class='input-group-radio'> 7871 <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' > 7872 <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> 7873 </div><div class='input-group-radio'> 7874 <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' > 7875 <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> 7876 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 7877 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 7878 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
7879 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 7880 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7881 <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' > 7882 <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> 7883 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7884 <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' > 7885 <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> 7886 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 7887 <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' > 7888 <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> 7889 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 7890 <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' > 7891 <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> 7892 </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> 7893 <div class="modal-footer" style="text-align: center; position: relative;"> 7894 <div class="footer_mobile"></div> 7895 <div class="footer_overlay"></div> 7896 <div class="item-add-buttons"> 7897 <div class="col-md-3" style="padding: 0;"> 7898 <div class="qty-selection"> 7899 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833119"><i class="glyphicon glyphicon-minus"></i></button> 7900 <label id="qty-833119" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7901 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833119"><i class="glyphicon glyphicon-plus"></i></button> 7902 </div> 7903 </div> 7904 <div class="col-md-6"> 7905 <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"/> 7906 </div> 7907 <div class="col-md-3" style="padding: 0;"> 7908 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7909 <p class="popup-item-price" style="text-align: right;"></p> 7910 </div> 7911 </div> 7912 </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 7913 id="HoneyCartel_833113_218242" 7914 style="" 7915 class="group" 7916 data-track-items="true" 7917 data-plu="" 7918 data-item-name="Honey Cartel" 7919 data-item-category="Pizza" 7920 7921 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 7922 <div class="badge"> 7923
7924 <span class="visual-tag-label">Staff Favourite</span> 7925 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 7926 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'> 7927 <div class='modal modal-popup fade' id='add-popup-833113-218242' role='dialog'> 7928 <div class='modal-dialog modal-dialog-popup' > 7929 <div class='modal-content modal-content-popup'> 7930 <div class='modal-header'> 7931 <p class='close close-popup' data-dismiss='modal'>×</p> 7932 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7933 <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> 7934 </h4> 7935 <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> 7936 </div> 7937 <div class='modal-body' style='background: #ececec78;'> 7938 <p class='alert alert-danger' id='toppings_left'></p> 7939 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7940 <div class='menu-item-option'> 7941 <div class='menu-item-option menu-item-option-popup' id='menu-833113' ref='833113'><div class='input-group-radio'> 7942 <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' > 7943 <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> 7944 </div><div class='input-group-radio'> 7945 <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' > 7946 <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> 7947 </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> 7948 <div class="modal-footer" style="text-align: center; position: relative;"> 7949 <div class="footer_mobile"></div> 7950 <div class="footer_overlay"></div> 7951 <div class="item-add-buttons"> 7952 <div class="col-md-3" style="padding: 0;"> 7953 <div class="qty-selection"> 7954 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833113"><i class="glyphicon glyphicon-minus"></i></button> 7955 <label id="qty-833113" class="qty-label-popup qty" style="padding: 0 5%">1</label> 7956 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833113"><i class="glyphicon glyphicon-plus"></i></button> 7957 </div> 7958 </div> 7959 <div class="col-md-6"> 7960 <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"/> 7961 </div> 7962 <div class="col-md-3" style="padding: 0;"> 7963 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 7964 <p class="popup-item-price" style="text-align: right;"></p> 7965 </div> 7966 </div> 7967 </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
796718242" id="833113" menu-id="218242" ref="STP27" /></div></div></li><li 7968 id="TheBrooklyn_833120_218242" 7969 style="" 7970 class="group" 7971 data-track-items="true" 7972 data-plu="" 7973 data-item-name="The Brooklyn " 7974 data-item-category="Pizza" 7975 7976 ><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;"> 7977 The Brooklyn </div></div><div class="clear"></div><div class="item-description">Loaded Pepperoni, Pizza Sauce & Cheese</div><div id='item-buttons'> 7978 <div class='modal modal-popup fade' id='add-popup-833120-218242' role='dialog'> 7979 <div class='modal-dialog modal-dialog-popup' > 7980 <div class='modal-content modal-content-popup'> 7981 <div class='modal-header'> 7982 <p class='close close-popup' data-dismiss='modal'>×</p> 7983 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 7984 <span>The Brooklyn </span> 7985 </h4> 7986 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Loaded Pepperoni, Pizza Sauce & Cheese</div> 7987 </div> 7988 <div class='modal-body' style='background: #ececec78;'> 7989 <p class='alert alert-danger' id='toppings_left'></p> 7990 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 7991 <div class='menu-item-option'> 7992 <div class='menu-item-option menu-item-option-popup' id='menu-833120' ref='833120'><div class='input-group-radio'> 7993 <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' > 7994 <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> 7995 </div><div class='input-group-radio'> 7996 <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' > 7997 <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> 7998 </div><div class='input-group-radio'> 7999 <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' > 8000 <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> 8001 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8002 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8003 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
8004 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8005 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8006 <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' > 8007 <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> 8008 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8009 <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' > 8010 <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> 8011 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8012 <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' > 8013 <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> 8014 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8015 <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' > 8016 <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> 8017 </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> 8018 <div class="modal-footer" style="text-align: center; position: relative;"> 8019 <div class="footer_mobile"></div> 8020 <div class="footer_overlay"></div> 8021 <div class="item-add-buttons"> 8022 <div class="col-md-3" style="padding: 0;"> 8023 <div class="qty-selection"> 8024 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833120"><i class="glyphicon glyphicon-minus"></i></button> 8025 <label id="qty-833120" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8026 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833120"><i class="glyphicon glyphicon-plus"></i></button> 8027 </div> 8028 </div> 8029 <div class="col-md-6"> 8030 <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"/> 8031 </div> 8032 <div class="col-md-3" style="padding: 0;"> 8033 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8034 <p class="popup-item-price" style="text-align: right;"></p> 8035 </div> 8036 </div> 8037 </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 8038 id="ChickenKahuna_833123_218242" 8039 style="" 8040 class="group" 8041 data-track-items="true" 8042 data-plu="" 8043 data-item-name="Chicken Kahuna" 8044 data-item-category="Pizza" 8045 8046 ><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;"> 8047 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'> 8048 <div class='modal modal-popup fade' id='add-popup-833123-218242' role='dialog'> 8049 <div class='modal-dialog modal-dialog-popup' > 8050 <div class='modal-content modal-content-popup'> 8051 <div class='modal-header'> 8052 <p class='close close-popup' data-dismiss='modal'>×</p> 8053 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8054 <span>Chicken Kahuna</span> 8055 </h4> 8056 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>BBQ Sauce Chicken, Streaky Bacon, Onion, Pineapple, Cheese </div> 8057 </div> 8058 <div class='modal-body' style='background: #ececec78;'> 8059 <p class='alert alert-danger' id='toppings_left'></p> 8060 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8061 <div class='menu-item-option'> 8062 <div class='menu-item-option menu-item-option-popup' id='menu-833123' ref='833123'><div class='input-group-radio'> 8063 <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' > 8064 <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> 8065 </div><div class='input-group-radio'> 8066 <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' > 8067 <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> 8068 </div><div class='input-group-radio'> 8069 <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' > 8070 <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> 8071 </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> 8072 <div class="modal-footer" style="text-align: center; position: relative;"> 8073 <div class="footer_mobile"></div> 8074 <div class="footer_overlay"></div> 8075 <div class="item-add-buttons"> 8076 <div class="col-md-3" style="padding: 0;"> 8077 <div class="qty-selection"> 8078 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833123"><i class="glyphicon glyphicon-minus"></i></button> 8079 <label id="qty-833123" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8080 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833123"><i class="glyphicon glyphicon-plus"></i></button> 8081 </div> 8082 </div> 8083 <div class="col-md-6"> 8084 <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"/> 8085 </div> 8086 <div class="col-md-3" style="padding: 0;"> 8087 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8088 <p class="popup-item-price" style="text-align: right;"></p> 8089 </div> 8090 </div> 8091 </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 8092 id="ChickenRanch_833121_218242" 8093 style="" 8094 class="group" 8095 data-track-items="true" 8096 data-plu="" 8097 data-item-name="Chicken Ranch" 8098 data-item-category="Pizza" 8099 8100 ><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;"> 8101 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'> 8102 <div class='modal modal-popup fade' id='add-popup-833121-218242' role='dialog'> 8103 <div class='modal-dialog modal-dialog-popup' > 8104 <div class='modal-content modal-content-popup'> 8105 <div class='modal-header'> 8106 <p class='close close-popup' data-dismiss='modal'>×</p> 8107 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8108 <span>Chicken Ranch</span> 8109 </h4> 8110 <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> 8111 </div> 8112 <div class='modal-body' style='background: #ececec78;'> 8113 <p class='alert alert-danger' id='toppings_left'></p> 8114 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8115 <div class='menu-item-option'> 8116 <div class='menu-item-option menu-item-option-popup' id='menu-833121' ref='833121'><div class='input-group-radio'> 8117 <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' > 8118 <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> 8119 </div><div class='input-group-radio'> 8120 <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' > 8121 <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> 8122 </div><div class='input-group-radio'> 8123 <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' > 8124 <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> 8125 </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> 8126 <div class="modal-footer" style="text-align: center; position: relative;"> 8127 <div class="footer_mobile"></div> 8128 <div class="footer_overlay"></div> 8129 <div class="item-add-buttons"> 8130 <div class="col-md-3" style="padding: 0;"> 8131 <div class="qty-selection"> 8132 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833121"><i class="glyphicon glyphicon-minus"></i></button> 8133 <label id="qty-833121" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8134 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833121"><i class="glyphicon glyphicon-plus"></i></button> 8135 </div> 8136 </div> 8137 <div class="col-md-6"> 8138 <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"/> 8139 </div> 8140 <div class="col-md-3" style="padding: 0;"> 8141 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8142 <p class="popup-item-price" style="text-align: right;"></p> 8143 </div> 8144 </div> 8145 </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 8146 id="BuffaloSoldier_833122_218242" 8147 style="" 8148 class="group" 8149 data-track-items="true" 8150 data-plu="" 8151 data-item-name="Buffalo Soldier" 8152 data-item-category="Pizza" 8153 8154 ><span class="mi-loader" style="display:none;"></span><div class='item-block-no-image'><div class="visual-tag-container"> 8155 <div class="badge"> 8156
8157 <span class="visual-tag-label">Chef's Recommendation</span> 8158 </div></div><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8159 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'> 8160 <div class='modal modal-popup fade' id='add-popup-833122-218242' role='dialog'> 8161 <div class='modal-dialog modal-dialog-popup' > 8162 <div class='modal-content modal-content-popup'> 8163 <div class='modal-header'> 8164 <p class='close close-popup' data-dismiss='modal'>×</p> 8165 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8166 <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> 8167 </h4> 8168 <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> 8169 </div> 8170 <div class='modal-body' style='background: #ececec78;'> 8171 <p class='alert alert-danger' id='toppings_left'></p> 8172 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8173 <div class='menu-item-option'> 8174 <div class='menu-item-option menu-item-option-popup' id='menu-833122' ref='833122'><div class='input-group-radio'> 8175 <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' > 8176 <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> 8177 </div><div class='input-group-radio'> 8178 <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' > 8179 <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> 8180 </div><div class='input-group-radio'> 8181 <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' > 8182 <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> 8183 </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> 8184 <div class="modal-footer" style="text-align: center; position: relative;"> 8185 <div class="footer_mobile"></div> 8186 <div class="footer_overlay"></div> 8187 <div class="item-add-buttons"> 8188 <div class="col-md-3" style="padding: 0;"> 8189 <div class="qty-selection"> 8190 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833122"><i class="glyphicon glyphicon-minus"></i></button> 8191 <label id="qty-833122" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8192 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833122"><i class="glyphicon glyphicon-plus"></i></button> 8193 </div> 8194 </div> 8195 <div class="col-md-6"> 8196 <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"/> 8197 </div> 8198 <div class="col-md-3" style="padding: 0;"> 8199 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8200 <p class="popup-item-price" style="text-align: right;"></p> 8201 </div> 8202 </div> 8203 </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 8204 id="LambYirosPizza_833114_218242" 8205 style="" 8206 class="group" 8207 data-track-items="true" 8208 data-plu="" 8209 data-item-name="Lamb Yiros P
8209izza " 8210 data-item-category="Pizza" 8211 8212 ><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;"> 8213 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'> 8214 <div class='modal modal-popup fade' id='add-popup-833114-218242' role='dialog'> 8215 <div class='modal-dialog modal-dialog-popup' > 8216 <div class='modal-content modal-content-popup'> 8217 <div class='modal-header'> 8218 <p class='close close-popup' data-dismiss='modal'>×</p> 8219 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8220 <span>Lamb Yiros Pizza </span> 8221 </h4> 8222 <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> 8223 </div> 8224 <div class='modal-body' style='background: #ececec78;'> 8225 <p class='alert alert-danger' id='toppings_left'></p> 8226 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8227 <div class='menu-item-option'> 8228 <div class='menu-item-option menu-item-option-popup' id='menu-833114' ref='833114'><div class='input-group-radio'> 8229 <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' > 8230 <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> 8231 </div><div class='input-group-radio'> 8232 <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' > 8233 <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> 8234 </div><div class='input-group-radio'> 8235 <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' > 8236 <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> 8237 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8238 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8239 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p>
8240 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8241 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8242 <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' > 8243 <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> 8244 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8245 <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' > 8246 <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> 8247 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8248 <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' > 8249 <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> 8250 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8251 <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' > 8252 <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> 8253 </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> 8254 <div class="modal-footer" style="text-align: center; position: relative;"> 8255 <div class="footer_mobile"></div> 8256 <div class="footer_overlay"></div> 8257 <div class="item-add-buttons"> 8258 <div class="col-md-3" style="padding: 0;"> 8259 <div class="qty-selection"> 8260 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833114"><i class="glyphicon glyphicon-minus"></i></button> 8261 <label id="qty-833114" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8262 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833114"><i class="glyphicon glyphicon-plus"></i></button> 8263 </div> 8264 </div> 8265 <div class="col-md-6"> 8266 <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"/> 8267 </div> 8268 <div class="col-md-3" style="padding: 0;"> 8269 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8270 <p class="popup-item-price" style="text-align: right;"></p> 8271 </div> 8272 </div> 8273 </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 8274 id="PizzaDiavola_833124_218242" 8275 style="" 8276 class="group" 8277 data-track-items="true" 8278 data-plu="" 8279 data-item-name="Pizza Diavola" 8280 data-item-category="Pizza" 8281 8282 ><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;"> 8283 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'> 8284 <div class='modal modal-popup fade' id='add-popup-833124-2
828418242' role='dialog'> 8285 <div class='modal-dialog modal-dialog-popup' > 8286 <div class='modal-content modal-content-popup'> 8287 <div class='modal-header'> 8288 <p class='close close-popup' data-dismiss='modal'>×</p> 8289 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8290 <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> 8291 </h4> 8292 <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> 8293 </div> 8294 <div class='modal-body' style='background: #ececec78;'> 8295 <p class='alert alert-danger' id='toppings_left'></p> 8296 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8297 <div class='menu-item-option'> 8298 <div class='menu-item-option menu-item-option-popup' id='menu-833124' ref='833124'><div class='input-group-radio'> 8299 <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' > 8300 <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> 8301 </div><div class='input-group-radio'> 8302 <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' > 8303 <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> 8304 </div><div class='input-group-radio'> 8305 <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' > 8306 <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> 8307 </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> 8308 <div class="modal-footer" style="text-align: center; position: relative;"> 8309 <div class="footer_mobile"></div> 8310 <div class="footer_overlay"></div> 8311 <div class="item-add-buttons"> 8312 <div class="col-md-3" style="padding: 0;"> 8313 <div class="qty-selection"> 8314 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833124"><i class="glyphicon glyphicon-minus"></i></button> 8315 <label id="qty-833124" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8316 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833124"><i class="glyphicon glyphicon-plus"></i></button> 8317 </div> 8318 </div> 8319 <div class="col-md-6"> 8320 <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"/> 8321 </div> 8322 <div class="col-md-3" style="padding: 0;"> 8323 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8324 <p class="popup-item-price" style="text-align: right;"></p> 8325 </div> 8326 </div> 8327 </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
832718242" id="833124" menu-id="218242" ref="STP19" /></div></div></li><li 8328 id="ThePrawnHub_833125_218242" 8329 style="" 8330 class="group" 8331 data-track-items="true" 8332 data-plu="" 8333 data-item-name="The Prawn Hub " 8334 data-item-category="Pizza" 8335 8336 ><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;"> 8337 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'> 8338 <div class='modal modal-popup fade' id='add-popup-833125-218242' role='dialog'> 8339 <div class='modal-dialog modal-dialog-popup' > 8340 <div class='modal-content modal-content-popup'> 8341 <div class='modal-header'> 8342 <p class='close close-popup' data-dismiss='modal'>×</p> 8343 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8344 <span>The Prawn Hub </span> 8345 </h4> 8346 <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> 8347 </div> 8348 <div class='modal-body' style='background: #ececec78;'> 8349 <p class='alert alert-danger' id='toppings_left'></p> 8350 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8351 <div class='menu-item-option'> 8352 <div class='menu-item-option menu-item-option-popup' id='menu-833125' ref='833125'><div class='input-group-radio'> 8353 <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' > 8354 <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> 8355 </div><div class='input-group-radio'> 8356 <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' > 8357 <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> 8358 </div><div class='input-group-radio'> 8359 <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' > 8360 <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> 8361 </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> 8362 <div class="modal-footer" style="text-align: center; position: relative;"> 8363 <div class="footer_mobile"></div> 8364 <div class="footer_overlay"></div> 8365 <div class="item-add-buttons"> 8366 <div class="col-md-3" style="padding: 0;"> 8367 <div class="qty-selection"> 8368 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833125"><i class="glyphicon glyphicon-minus"></i></button> 8369 <label id="qty-833125" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8370 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833125"><i class="glyphicon glyphicon-plus"></i></button> 8371 </div> 8372 </div> 8373 <div class="col-md-6"> 8374 <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"/> 8375 </div> 8376 <div class="col-md-3" style="padding: 0;"> 8377 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8378 <p class="popup-item-price" style="text-align: right;"></p> 8379 </div> 8380 </div> 8381 </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 8382 id="TheStraya_833126_218242" 8383 style="" 8384 class="group" 8385 data-track-items="true" 8386 data-plu="" 8387 data-item-name="The Straya" 8388 data-item-category="Pizza" 8389 8390 ><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;"> 8391 The Straya</div></div><div class="clear"></div><div class="item-description">
8391Garlic Sauce, Creamy Egg, Caramelised Onion & Mushroom, Spinach, Cheese, Bacon & Buffalo Hollandaise</div><div id='item-buttons'> 8392 <div class='modal modal-popup fade' id='add-popup-833126-218242' role='dialog'> 8393 <div class='modal-dialog modal-dialog-popup' > 8394 <div class='modal-content modal-content-popup'> 8395 <div class='modal-header'> 8396 <p class='close close-popup' data-dismiss='modal'>×</p> 8397 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 8398 <span>The Straya</span> 8399 </h4> 8400 <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> 8401 </div> 8402 <div class='modal-body' style='background: #ececec78;'> 8403 <p class='alert alert-danger' id='toppings_left'></p> 8404 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8405 <div class='menu-item-option'> 8406 <div class='menu-item-option menu-item-option-popup' id='menu-833126' ref='833126'><div class='input-group-radio'> 8407 <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' > 8408 <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> 8409 </div><div class='input-group-radio'> 8410 <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' > 8411 <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> 8412 </div><div class='input-group-radio'> 8413 <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' > 8414 <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> 8415 </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> 8416 <div class="modal-footer" style="text-align: center; position: relative;"> 8417 <div class="footer_mobile"></div> 8418 <div class="footer_overlay"></div> 8419 <div class="item-add-buttons"> 8420 <div class="col-md-3" style="padding: 0;"> 8421 <div class="qty-selection"> 8422 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833126"><i class="glyphicon glyphicon-minus"></i></button> 8423 <label id="qty-833126" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8424 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833126"><i class="glyphicon glyphicon-plus"></i></button> 8425 </div> 8426 </div> 8427 <div class="col-md-6"> 8428 <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"/> 8429 </div> 8430 <div class="col-md-3" style="padding: 0;"> 8431 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8432 <p class="popup-item-price" style="text-align: right;"></p> 8433 </div> 8434 </div> 8435 </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 8436 id="CheesyPleasy_833127_218242" 8437 style="" 8438 class="group" 8439 data-track-items="true" 8440 data-plu="" 8441 data-item-name="Cheesy Pleasy" 8442 data-item-category="Pizza" 8443 8444 ><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;"> 8445 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 8446</div><div id='item-buttons'> 8447 <div class='modal modal-popup fade' id='add-popup-833127-218242' role='dialog'> 8448 <div class='modal-dialog modal-dialog-popup' > 8449 <div class='modal-content modal-content-popup'> 8450 <div class='modal-header'> 8451 <p class='close close-popup' data-dismiss='modal'>×</p> 8452 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8453 <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> 8454 </h4> 8455 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Pizza sauce, double mozzarella and cheddar cheese 8456</div> 8457 </div> 8458 <div class='modal-body' style='background: #ececec78;'> 8459 <p class='alert alert-danger' id='toppings_left'></p> 8460 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8461 <div class='menu-item-option'> 8462 <div class='menu-item-option menu-item-option-popup' id='menu-833127' ref='833127'><div class='input-group-radio'> 8463 <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' > 8464 <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> 8465 </div><div class='input-group-radio'> 8466 <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' > 8467 <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> 8468 </div><div class='input-group-radio'> 8469 <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' > 8470 <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> 8471 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8472 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8473 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 8474 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8475 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8476 <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' > 8477 <label for='item-option-833127-218242-434076' style='font-weight:normal
8477!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> 8478 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8479 <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' > 8480 <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> 8481 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8482 <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' > 8483 <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> 8484 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8485 <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' > 8486 <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> 8487 </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> 8488 <div class="modal-footer" style="text-align: center; position: relative;"> 8489 <div class="footer_mobile"></div> 8490 <div class="footer_overlay"></div> 8491 <div class="item-add-buttons"> 8492 <div class="col-md-3" style="padding: 0;"> 8493 <div class="qty-selection"> 8494 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833127"><i class="glyphicon glyphicon-minus"></i></button> 8495 <label id="qty-833127" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8496 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833127"><i class="glyphicon glyphicon-plus"></i></button> 8497 </div> 8498 </div> 8499 <div class="col-md-6"> 8500 <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"/> 8501 </div> 8502 <div class="col-md-3" style="padding: 0;"> 8503 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8504 <p class="popup-item-price" style="text-align: right;"></p> 8505 </div> 8506 </div> 8507 </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 8508 id="Pizzatarian_833128_218242" 8509 style="" 8510 class="group" 8511 data-track-items="true" 8512 data-plu="" 8513 data-item-name="Pizzatarian" 8514 data-item-category="Pizza" 8515 8516 ><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;"> 8517 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'> 8518 <div class='modal modal-popup fade' id='add-popup-833128-218242' role='dialog'> 8519 <div class='modal-dialog modal-dialog-popup' > 8520 <div class='modal-content modal-content-popup'> 8521 <div class='modal-header'> 8522 <p class='close close-popup' data-dismiss='modal'>×</p> 8523 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8524 <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> 8525 </h4> 8526 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Caramelized Onion, Mushroom, Capsicum, Kalamata Olives & semi dried tomato </div> 8527 </div> 8528 <div class='modal-body' style='background: #ececec78;'> 8529 <p class='alert alert-danger' id='toppings_left'></p> 8530 <p style='color:black; font-size:15px; font-weight:600;'>Choose one</p> 8531 <div class='menu-item-option'> 8532 <div class='menu-item-option menu-item-option-popup' id='menu-833128' ref='833128'><div class='input-group-radio'> 8533 <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' > 8534 <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> 8535 </div><div class='input-group-radio'> 8536 <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' > 8537 <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> 8538 </div><div class='input-group-radio'> 8539 <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' > 8540 <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> 8541 </div></div></div><div class="item-option-radio item-option-radio-menu row"><div class='multi-option-select'> 8542 <div class='multi-option-name item-option-group-name-124547' style='position:relative; float:left; width:100%;'> 8543 <p style='font-weight:600; padding-bottom:0px; width:100%'>(S) Sauce Base</p> 8544 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8545 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8546 <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' > 8547 <label for='item-option-833128-218242-434076' style='font-weight:normal
8547!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> 8548 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8549 <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' > 8550 <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> 8551 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8552 <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' > 8553 <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> 8554 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8555 <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' > 8556 <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> 8557 </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> 8558 <div class="modal-footer" style="text-align: center; position: relative;"> 8559 <div class="footer_mobile"></div> 8560 <div class="footer_overlay"></div> 8561 <div class="item-add-buttons"> 8562 <div class="col-md-3" style="padding: 0;"> 8563 <div class="qty-selection"> 8564 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="833128"><i class="glyphicon glyphicon-minus"></i></button> 8565 <label id="qty-833128" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8566 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="833128"><i class="glyphicon glyphicon-plus"></i></button> 8567 </div> 8568 </div> 8569 <div class="col-md-6"> 8570 <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"/> 8571 </div> 8572 <div class="col-md-3" style="padding: 0;"> 8573 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8574 <p class="popup-item-price" style="text-align: right;"></p> 8575 </div> 8576 </div> 8577 </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> 8578 <div class="spacer"></div> 8579 </div> 8580 <div id="menu-218242-upsell-items" style="display:none"> 8581 <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"> 8582 <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"> 8583 <input id="upsell-item-218242-DR01" class="upsell-item-chkbox" data-plu="DR01" data-price="8" t
8583ype="checkbox"> 8584 <span></span> 8585 </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"> 8586 <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"> 8587 <input id="upsell-item-218242-M04" class="upsell-item-chkbox" data-plu="M04" data-price="14" type="checkbox"> 8588 <span></span> 8589 </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"> 8590 <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"> 8591 <input id="upsell-item-218242-SID01" class="upsell-item-chkbox" data-plu="SID01" data-price="8" type="checkbox"> 8592 <span></span> 8593 </div></label></div> </div> 8594 8595 <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> 8596</div> 8597 8598<div class='menu-item mi-218241' id='pizza-halfhalf-block' style=''> 8599 8600 <h1>Pizza Half/Half</h1> <div id='menu_items' data-menuid='218241'> 8601 <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> 8602 <ul id='pizza-half/half'> 8603 <li 8604 id="HalfHalf_4148976_218241" 8605 style="" 8606 class="single" 8607 data-track-items="true" 8608 data-plu="HH" 8609 data-item-name="Half/Half" 8610 data-item-category="Pizza Half/Half" 8611 data-price="2" 8612 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8613 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8614 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;"> 8615 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"> 8616 <div class="modal-dialog modal-dialog-popup"> 8617 <div class="modal-content modal-content-popup"> 8618 <div class="modal-header" style="background-color:unset;"> 8619 <p class="close close-popup hh-close-popup" style="color:#000 !important;" data-dismiss="modal">×</p> 8620 <div id="modal-header-main"> 8621 <h4 class="modal-title" style="color:#000 !important;">Half/Half</h4> 8622 <div class="modal-title item-description-popup" style="color:#000 !important;"></div> 8623 </div> 8624 <div id="modal-header-hh" class="hide"> 8625 <h4 class="modal-title" style="float:left; color:#000 !important;">Choose Your First Half</h4> 8626 <div class="return-btn" style="float:right;"> 8627 <button id="back-to-main">← Back</button> 8628 </div> 8629 <div style="float:right;" class="return-btn hide"> 8630 <button id="back-to-pizza" class="change-half">← Change Pizza</button> 8631 </div> 8632 </div> 8633 </div> 8634 <div class="modal-body"> 8635 <div id="modal-body-main"><p class="hh-size">
8636 <span style="color:#000 !important;">Select Size</span><br><span style="color:#000 !important;" class="hh-surcharge" surcharge=2>*includes $2 surcharge</span></p> 8637 <div class="menu-item-option" style="padding:15px 15px 0px 15px;"> 8638 <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'> 8639 <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' > 8640 <label for='HHS-18" Bigboy' class='input-group-label'>18" BIGBOY</label> 8641 </div> </div> 8642 </div> <div id="hh-pizza-container"> 8643 <div class="lds-ring" style="display:none;"> 8644 <div></div> 8645 <div></div> 8646 <div></div> 8647 </div> 8648 <div class="hh-pizza-container"> <p class="hh-pizza"> 8649 <span style="color:#000 !important;">Select Your Pizzas</span><br> 8650 <span style="color:#000 !important;">Required</span> 8651 </p> 8652 <div style="padding:10px 15px;"> 8653 <p class="hh-first"> 8654 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/first_half.png"/> 8655 <span class="hh-first-item-label" style="color:#000 !important;">Select your first half</span> 8656 <span class="hh-first-icon glyphicon glyphicon-chevron-right"></span> 8657 </p> 8658 <p class="hh-second"> 8659 <img src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/second_half.png"/> 8660 <span class="hh-second-item-label" style="color:#000 !important;">Select your second half</span> 8661 <span class="hh-second-icon glyphicon glyphicon-chevron-right"></span> 8662 </p> 8663 </div> </div> 8664 </div> 8665 </div> 8666 <div id="modal-body-hh" class="hide"> 8667 <div id="hh-first" class="hide"> 8668 <div class="lds-ring" style="display:none;"> 8669 <div></div> 8670 <div></div> 8671 <div></div> 8672 </div> 8673 <div id="hh-first-selected" class="hide"></div> 8674 <div id="hh-first-item-list" style="padding:30px 15px 10px 15px;"> </div> 8675 </div> 8676 <div id="hh-second" class="hide"> 8677 <div class="lds-ring" style="display:none;"> 8678 <div></div> 8679 <div></div> 8680 <div></div> 8681 </div> 8682 <div id="hh-second-selected" class="hide"></div> 8683 <div id="hh-second-item-list" style="padding:30px 15px 10px 15px;"> </div> 8684 </div> 8685 </div> 8686 </div> 8687 <div class="modal-footer" style="text-align: center; position: relative;"> 8688 <div class="footer_mobile"></div> 8689 <div class="footer_overlay"></div> 8690 <div class="item-add-buttons"> 8691 <div class="col-md-3 footer-space" style="padding:0;"></div> 8692 <div class="col-md-6 footer-buttons"> 8693 <div id="modal-footer-add"> 8694 <button class="btn" style="padding:10px 0 !important; width:100%; border-radius:0px !important;" id="add-half-half" menu-id="218241">Add</button> 8695 </div> 8696 <div id="modal-footer-next" class="hide"> 8697 <button class="btn" style="padding:10px 0 !important; width:100%; border-radius:0px !important;">Next</button> 8698 </div> 8699 <input type="hidden" name="first-half-plu" id="first-half-plu" value=""/> 8700 <input type="hidden" name="second-half-plu" id="second-half-plu" value=""/> 8701 </div> 8702 <div class="col-md-3 footer-price" style="padding:0; float:right;"> 8703 <p class="half-half-total">$0.00</p> 8704 <div class="hh-remaining-topping-orig" style="display:none;">12</div> 8705 <div class="hh-remaining-topping" style="display:none;">12</div> 8706 </div> 8707 </div> 8708 </div> 8709 </div> 8710 </div> 8711 </div> 8712 <div class="item-add-popup"> 8713 <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"/> 8714 </div></div></div></li> </ul> 8715 <div class="spacer"></div> 8716 </div> 8717 8718 8719</div> 8720 8721<div class='menu-item mi-218239' id='desserts-block' style=''> 8722 8723 <h1>Desserts</h1> <div id='menu_items' data-menuid='218239'> 8724 <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> 8725 <ul id='desserts'> 8726 <li 8727 id="Churro_19419555_218239" 8728 style="" 8729 class="single" 8730 data-track-items="true" 8731 data-plu="DES21" 8732 data-item-name="Churro" 8733 data-item-category="Desserts" 8734 data-price="12" 8735 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8736 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8737 data-src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/churro_bites.jpg'></div><div class='item-block'><div class="item-title-container"><div class="item-title" style="word-break: break-word; padding-bottom: 5px;"> 8738 Churro</div><div class="item-price"><span class="dollar-sign">$</span>12</div></div><div class="clear"></div><div class="item-description">12 mini churro bites dusted in cinnamon sugar & served with Caramel or Kit Kat chocolate sauce</div><div id='item-buttons'> 8739 <div class='modal modal-popup fade' id='add-popup-DES21-218239' role='dialog'> 8740 <div class='modal-dialog modal-dialog-popup' > 8741 <div class='modal-content modal-content-popup'> 8742 <div class='modal-header'> 8743 <p class='close close-popup' data-dismiss='modal'>×</p> 8744 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8745 <span>Churro</span> 8746 </h4> 8747 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>12 mini churro bites dusted in cinnamon sugar & served with Caramel or Kit Kat chocolate sauce</div> 8748 </div> 8749 <div class='modal-body' style='background: #ececec78;'> 8750 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8751 <input type='radio' style='display:none;' name='menu-item-option-radio-DES21' class = 'radio-button-popup menu-option-radio-list' value='DES21' price='12' ref='DES21' id='DES21' plu='DES21' checked='checked'> 8752 <label for='DES21' class='active input-group-label' hide_toppings='0' style='font-weight: normal;' ><span id='popup-price'>$12</span><img class='check-img-popup' style='float: right; align-self:center'></label> 8753 </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'> 8754 <div class='multi-option-name item-option-group-name-53796' style='position:relative; float:left; width:100%;'> 8755 <p style='font-weight:600; padding-bottom:0px; width:100%'>Dessert Sauce</p> 8756 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 8757 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 8758 <input type='checkbox' style='display:none;' ref='1010987' name='item-option-radio-DES21-53796' class='item-option-radio-list' value='0' id='item-option-DES21-218239-1010987' multiple-io='true' mio-id='53796' min-io='1' max-io='1' > 8759 <label for='item-option-DES21-218239-1010987' 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'>Kit Kat Chocolate<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8760 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 8761 <input type='checkbox' style='display:none;' ref='164530' name='item-option-radio-DES21-53796' class='item-option-radio-list' value='0' id='item-option-DES21-218239-164530' multiple-io='true' mio-id='53796' min-io='1' max-io='1' > 8762 <label for='item-option-DES21-218239-164530' 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'>Biscoff Caramel<img src='' class='check-img-popup' style='float:right; align-self:center'></label> 8763 </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> 8764 <div class="modal-footer" style="text-align: center; position: relative;"> 8765 <div class="footer_mobile"></div> 8766 <div class="footer_overlay"></div> 8767 <div class="item-add-buttons"> 8768 <div class="col-md-3" style="padding: 0;"> 8769 <div class="qty-selection"> 8770 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES21"><i class="glyphicon glyphicon-minus"></i></button> 8771 <label id="qty-DES21" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8772 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES21"><i class="glyphicon glyphicon-plus"></i></button> 8773 </div> 8774 </div> 8775 <div class="col-md-6"> 8776 <input style="padding: 10px 0 !important; width: 100%; border-radius: 0px !important;" type="button" value="Add" data-dismiss="modal" class="customise-add-button" id="DES21" ref="DES21"/> 8777 </div> 8778 <div class="col-md-3" style="padding: 0;"> 8779 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8780 <p class="popup-item-price" style="text-align: right;"></p> 8781 </div> 8782 </div> 8783 </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-DES21-218239" id="DES21" menu-id="218239" ref="DES21" /></div></div></li><li 8784 id="ChocolateOozeCake_18945101_218239" 8785 style="" 8786 class="single" 8787 data-track-items="true" 8788 data-plu="DES16" 8789 data-item-name="Chocolate Ooze Cake" 8790 data-item-category="Desserts" 8791 data-price="10" 8792 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8793 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8794 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;"> 8795 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'> 8796 <div class='modal modal-popup fade' id='add-popup-DES16-218239' role='dialog'> 8797 <div class='modal-dialog modal-dialog-popup' > 8798 <div class='modal-content modal-content-popup'> 8799 <div class='modal-header'> 8800 <p class='close close-popup' data-dismiss='modal'>×</p> 8801 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8802 <span>Chocolate Ooze Cake</span> 8803 </h4> 8804 <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> 8805 </div> 8806 <div class='modal-body' style='background: #ececec78;'> 8807 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8808 <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'> 8809 <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> 8810 </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> 8811 <div class="modal-footer" style="text-align: center; position: relative;"> 8812 <div class="footer_mobile"></div> 8813 <div class="footer_overlay"></div> 8814 <div class="item-add-buttons"> 8815 <div class="col-md-3" style="padding: 0;"> 8816 <div class="qty-selection"> 8817 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES16"><i class="glyphicon glyphicon-minus"></i></button> 8818 <label id="qty-DES16" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8819 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES16"><i class="glyphicon glyphicon-plus"></i></button> 8820 </div> 8821 </div> 8822 <div class="col-md-6"> 8823 <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"/> 8824 </div> 8825 <div class="col-md-3" style="padding: 0;"> 8826 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8827 <p class="popup-item-price" style="text-align: right;"></p> 8828 </div> 8829 </div> 8830 </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 8831 id="TripleChocBrownieBites_19281070_218239" 8832 style="" 8833 class="single" 8834 data-track-items="true" 8835 data-plu="DES20" 8836 data-item-name="Triple Choc Brownie Bites" 8837 data-item-category="Desserts" 8838 data-price="10" 8839 ><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;"> 8840 Triple Choc Brownie Bites</div><div class="item-price"><span class="dollar-sign">$</span>10</div></div><div class="clear"></div><div class="item-description">6 chocolate brownie bites topped with a smooth milk-chocolate 8841buttercream with white and dark chocolate chunks</div><div id='item-buttons'> 8842 <div class='modal modal-popup fade' id='add-popup-DES20-218239' role='dialog'> 8843 <div class='modal-dialog modal-dialog-popup' > 8844 <div class='modal-content modal-content-popup'> 8845 <div class='modal-header'> 8846 <p class='close close-popup' data-dismiss='modal'>×</p> 8847 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8848 <span>Triple Choc Brownie Bites</span> 8849 </h4> 8850 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>6 chocolate brownie bites topped with a smooth milk-chocolate 8851buttercream with white and dark chocolate chunks</div> 8852 </div> 8853 <div class='modal-body' style='background: #ececec78;'> 8854 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8855 <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'> 8856 <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> 8857 </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> 8858 <div class="modal-footer" style="text-align: center; position: relative;"> 8859 <div class="footer_mobile"></div> 8860 <div class="footer_overlay"></div> 8861 <div class="item-add-buttons"> 8862 <div class="col-md-3" style="padding: 0;"> 8863 <div class="qty-selection"> 8864 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES20"><i class="glyphicon glyphicon-minus"></i></button> 8865 <label id="qty-DES20" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8866 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES20"><i class="glyphicon glyphicon-plus"></i></button> 8867 </div> 8868 </div> 8869 <div class="col-md-6"> 8870 <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"/> 8871 </div> 8872 <div class="col-md-3" style="padding: 0;"> 8873 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8874 <p class="popup-item-price" style="text-align: right;"></p> 8875 </div> 8876 </div> 8877 </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 8878 id="ChocFudgeBrownieBitesGF_4149057_218239" 8879 style="" 8880 class="single" 8881 data-track-items="true" 8882 data-plu="DES02" 8883 data-item-name="Choc Fudge Brownie Bites (GF)" 8884 data-item-category="Desserts" 8885 data-price="10" 8886 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8887 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8888 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;"> 8889 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. 8890 8891 </div><div id='item-buttons'> 8892 <div class='modal modal-popup fade' id='add-popup-DES02-218239' role='dialog'> 8893 <div class='modal-dialog modal-dialog-popup' > 8894 <div class='modal-content modal-content-popup'> 8895 <div class='modal-header'> 8896 <p class='close close-popup' data-dismiss='modal'>×</p> 8897 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8898 <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> 8899 </h4> 8900 <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. 8901 8902 </div> 8903 </div> 8904 <div class='modal-body' style='background: #ececec78;'> 8905 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8906 <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'> 8907 <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> 8908 </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> 8909 <div class="modal-footer" style="text-align: center; position: relative;"> 8910 <div class="footer_mobile"></div> 8911 <div class="footer_overlay"></div> 8912 <div class="item-add-buttons"> 8913 <div class="col-md-3" style="padding: 0;"> 8914 <div class="qty-selection"> 8915 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES02"><i class="glyphicon glyphicon-minus"></i></button> 8916 <label id="qty-DES02" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8917 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES02"><i class="glyphicon glyphicon-plus"></i></button> 8918 </div> 8919 </div> 8920 <div class="col-md-6"> 8921 <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"/> 8922 </div> 8923 <div class="col-md-3" style="padding: 0;"> 8924 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8925 <p class="popup-item-price" style="text-align: right;"></p> 8926 </div> 8927 </div> 8928 </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 8929 id="BiscoffBrownieBites_18985040_218239" 8930 style="" 8931 class="single" 8932 data-track-items="true" 8933 data-plu="DES18" 8934 data-item-name="Biscoff Brownie Bites" 8935 data-item-category="Desserts" 8936 data-price="10" 8937 ><span class="mi-loader" style="display:none;"></span><div class='item-thumb'><img alt='' class='b-lazy' 8938 src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 8939 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;"> 8940 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'> 8941 <div class='modal modal-popup fade' id='add-popup-DES18-218239' role='dialog'> 8942 <div class='modal-dialog modal-dialog-popup' > 8943 <div class='modal-content modal-content-popup'> 8944 <div class='modal-header'> 8945 <p class='close close-popup' data-dismiss='modal'>×</p> 8946 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'>
8947 <span>Biscoff Brownie Bites</span> 8948 </h4> 8949 <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> 8950 </div> 8951 <div class='modal-body' style='background: #ececec78;'> 8952 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 8953 <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'> 8954 <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> 8955 </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> 8956 <div class="modal-footer" style="text-align: center; position: relative;"> 8957 <div class="footer_mobile"></div> 8958 <div class="footer_overlay"></div> 8959 <div class="item-add-buttons"> 8960 <div class="col-md-3" style="padding: 0;"> 8961 <div class="qty-selection"> 8962 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DES18"><i class="glyphicon glyphicon-minus"></i></button> 8963 <label id="qty-DES18" class="qty-label-popup qty" style="padding: 0 5%">1</label> 8964 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DES18"><i class="glyphicon glyphicon-plus"></i></button> 8965 </div> 8966 </div> 8967 <div class="col-md-6"> 8968 <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"/> 8969 </div> 8970 <div class="col-md-3" style="padding: 0;"> 8971 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 8972 <p class="popup-item-price" style="text-align: right;"></p> 8973 </div> 8974 </div> 8975 </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> 8976 <div class="spacer"></div> 8977 </div> 8978 8979 8980</div> 8981 8982<div class='menu-item mi-218250' id='drinks-block' style=''> 8983 8984 <h1>Drinks</h1> <div id='menu_items' data-menuid='218250'> 8985 <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> 8986 <ul id='drinks'> 8987 <li 8988 id="SoftDrink_9100300_218250" 8989 style="" 8990 class="single" 8991 data-track-items="true" 8992 data-plu="DR07" 8993 data-item-name="1.25 Soft Drink" 8994 data-item-category="Drinks" 8995 data-price="8" 8996 ><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;"> 8997 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">
8997Coke, Pepsi Max, Lemonade, Passito, Solo </div><div id='item-buttons'> 8998 <div class='modal modal-popup fade' id='add-popup-DR07-218250' role='dialog'> 8999 <div class='modal-dialog modal-dialog-popup' > 9000 <div class='modal-content modal-content-popup'> 9001 <div class='modal-header'> 9002 <p class='close close-popup' data-dismiss='modal'>×</p> 9003 <h4 class='modal-title' style='color:black; padding-bottom:5px; font-weight:600; display:flex; align-items:center; gap:5px;flex-wrap: wrap;'> 9004 <span>1.25 Soft Drink</span> 9005 </h4> 9006 <div class='modal-title item-description-popup' style='font-size: 13px; font-weight: 600;'>Coke, Pepsi Max, Lemonade, Passito, Solo </div> 9007 </div> 9008 <div class='modal-body' style='background: #ececec78;'> 9009 <p class='alert alert-danger' id='toppings_left'></p><div style='display:none;' class='input-group-radio'> 9010 <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'> 9011 <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> 9012 </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'> 9013 <div class='multi-option-name item-option-group-name-221234' style='position:relative; float:left; width:100%;'> 9014 <p style='font-weight:600; padding-bottom:0px; width:100%'>Soft Drink 1.25L</p> 9015 <span style='font-size:15px; color:#a1a1a1;'>Required</span> 9016 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 9017 <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' > 9018 <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> 9019 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 9020 <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' > 9021 <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> 9022 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 9023 <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' > 9024 <label for='item-option-DR07-218250-755017' style='font-weight:normal
9024!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> 9025 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:0px; padding-left:15px;'> 9026 <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' > 9027 <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> 9028 </div><div class='input-group-radio item-option-input-group col-sm-6' style='padding-right:15px; padding-left:0px;'> 9029 <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' > 9030 <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> 9031 </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> 9032 <div class="modal-footer" style="text-align: center; position: relative;"> 9033 <div class="footer_mobile"></div> 9034 <div class="footer_overlay"></div> 9035 <div class="item-add-buttons"> 9036 <div class="col-md-3" style="padding: 0;"> 9037 <div class="qty-selection"> 9038 <button class="btn qty-btn-popup qty-btn-popup-minus" ref-group-id="DR07"><i class="glyphicon glyphicon-minus"></i></button> 9039 <label id="qty-DR07" class="qty-label-popup qty" style="padding: 0 5%">1</label> 9040 <button class="btn qty-btn-popup qty-btn-popup-plus" ref-group-id="DR07"><i class="glyphicon glyphicon-plus"></i></button> 9041 </div> 9042 </div> 9043 <div class="col-md-6"> 9044 <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"/> 9045 </div> 9046 <div class="col-md-3" style="padding: 0;"> 9047 <p class="popup-orig-price" style="text-align: right; display:none;">0</p> 9048 <p class="popup-item-price" style="text-align: right;"></p> 9049 </div> 9050 </div> 9051 </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> 9052 <div class="spacer"></div> 9053 </div> 9054 9055 9056</div> 9057 9058<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"> 9059 <i class="fa-solid fa-circle-info"></i>
9060 <span> 9061 *Item prices shown exclude the platform fee. This fee helps cover the costs of operating and maintaining our online ordering platform. 9062 </span> 9063 </div>
9063<script>$(document).ready(function(){pullMenuActiveTime(true); var bLazy = new Blazy();});</script>
9063</div></div>
9064<script> 9065 var hh_cur_toppings = 0, 9066 hh_cur_toppings_tmp = 0, 9067 hh_max_toppings = 12, 9068 deal_max_toppings = 12, 9069 deal_num_free_extra = 0, 9070 deal_toppings_list = new Array(), 9071 deal_hh_left_plu = new Array(), 9072 deal_hh_right_plu = new Array(), 9073 deal_hh_item_option = new Array(), 9074 deal_hh_left_array = new Array(), 9075 deal_hh_right_array = new Array(), 9076 deal_toppings_ajax, 9077 deal_hh_toppings_ajax, 9078 hh_item_option_ajax, 9079 hh_toppings_ajax; 9080 9081 /** 9082 * checks if the limit is reached. returns FALSE for INVALID 9083 */ 9084 function checkMaxToppingsLimit(isDeal, dealPLU, ref, whichHalf){ 9085 var first_toppings = 0; 9086 var second_toppings = 0; 9087 9088 if(!hh_max_toppings){ 9089 var _lo_max_toppings = 12; // default 9090 // this value is set by cache 9091 }else{ 9092 var _lo_max_toppings = hh_max_toppings; 9093 } 9094 9095 if(isDeal == undefined){ 9096 first_toppings = $(".first-accordion li input:checked").length; 9097 second_toppings = $(".second-accordion li input:checked").length; 9098 } else{ 9099 first_toppings = $("."+dealPLU+"-"+ref+"-first-accordion li input:checked").length; 9100 second_toppings = $("."+dealPLU+"-"+ref+"-second-accordion li input:checked").length; 9101 } 9102 9103 var remaining = _lo_max_toppings - (first_toppings + second_toppings); 9104 if(remaining < 0){ 9105 remaining = 0; 9106 } 9107 9108 if(isDeal == undefined){ 9109 $(".hh-remaining-topping").html(remaining); 9110 } else{ 9111 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+dealPLU+"-"+ref+" .deal-hh-remaining-topping").html(remaining); 9112 $("#deal-hh-remaining-topping-"+dealPLU+"-"+ref).val(remaining); 9113 } 9114 9115 if((first_toppings + second_toppings) > _lo_max_toppings){ 9116 return false; 9117 } 9118 9119 return true; 9120 } 9121 9122 function dealCheckMaxToppings(dealPLU, itemPLU, section){ 9123 var deal_toppings = 0; 9124 9125 $("#accordion-"+dealPLU+"-"+itemPLU+"-"+section+" li input:checked").each(function(){ 9126 deal_toppings = parseFloat(deal_toppings) + 1; 9127 }); 9128 9129 return deal_toppings; 9130 } 9131 9132 function deal_hh_extra_toppings(dealPLU, whichHalf, ref){ 9133 var cssClass="", 9134 extra_price = 0, 9135 currency = $("#deal-price-"+dealPLU).text(), 9136 halfhalftotal = Number(currency.replace(/[^0-9\.]+/g,"")), 9137 item_total = 0, 9138 remaining = 0; 9139 9140 if(whichHalf == "first"){ 9141 cssClass = dealPLU+"-second-"+ref; 9142 } else if(whichHalf == "second"){ 9143 cssClass = dealPLU+"-first-"+ref; 9144 } else{ 9145 return false; 9146 } 9147 9148 if($("."+cssClass+"-accordion li input:checked").length > 0){ 9149 $("."+cssClass+"-accordion li input:checked").each(function(){ 9150 if($(this).val()){ 9151 extra_price += (parseFloat($(this).val())); 9152 } 9153 }); 9154 } 9155 9156 item_total = halfhalftotal + extra_price; 9157 remaining = hh_max_toppings - ($("."+dealPLU+"-"+ref+"-first-accordion li input:checked").length + $("."+dealPLU+"-"+ref+"-second-accordion li input:checked").length); 9158 9159 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+dealPLU+"-"+ref+" .deal-hh-remaining-topping").html(remaining); 9160 $("#deal-hh-remaining-topping-"+dealPLU+"-"+ref).val(remaining); 9161 $("#deal-price-"+dealPLU).html('$'+formatNumber(item_total)); 9162 } 9163 9164 function dealGetTotal(dealPLU, closeModal){ 9165 var surcharge = 0, 9166 item_option = 0, 9167 toppings = 0, 9168 hh_price = 0, 9169 hh_item_option = 0, 9170 hh_surcharge = 0, 9171 deal_selection_price = new Array(); 9172 9173 if($(".deal-selected-item-"+dealPLU).length > 0){ 9174 $(".deal-selected-item-"+dealPLU).each(function(){ 9175 var hh_price_selection = 0, 9176 surcharge_selection = 0; 9177 9178 if($(this).val() == "HH"){ 9179 var ref = $(this).attr("ref"); 9180 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9181 hh_price_selection = parseFloat($(this).attr("price")); 9182 hh_price += hh_price_selection; 9183 } 9184 9185 if(typeof $(this).attr("hh-item-option-price") !== "undefined" && $(this).attr("hh-item-option-price") !== false){ 9186 hh_item_option += parseFloat($(this).attr("hh-item-option-price")); 9187 } 9188 9189 if(typeof $(this).attr("hh-surcharge-price") !== "undefined" && $(this).attr("hh-surcharge-price") !== false){ 9190 hh_surcharge += parseFloat($(this).attr("hh-surcharge-price")); 9191 } 9192 } else if($(this).hasClass("hh-upgrade")){ 9193 if(typeof $(this).attr("hh-surcharge-price") !== "undefined" && $(this).attr("hh-surcharge-price") !== false){ 9194 hh_surcharge += parseFloat($(this).attr("hh-surcharge-price")); 9195 } 9196 } else{ 9197 var section = $(this).attr("ref"); 9198 var PLU = $(this).val(); 9199 9200 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9201 surcharge_selection = parseFloat($(this).attr("price")); 9202 surcharge += surcharge_selection; 9203 } 9204 9205 if($("input[name='deal-item-option-"+dealPLU+"-"+PLU+"-"+section+"']:checked").length > 0){ 9206 $("input[name='deal-item-option-"+dealPLU+"-"+PLU+"-"+section+"']:checked").each(function(){ 9207 if(typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false){ 9208 item_option += parseFloat($(this).attr("price")); 9209 } 9210 }); 9211 } 9212 9213 $("#accordion-"+dealPLU+"-"+PLU+"-"+section+" li input:checked").each(function(){ 9214 if(!$(this).hasClass("free_item")){ 9215 toppings += parseFloat($(this).val()); 9216 } 9217 }); 9218 } 9219 9220 deal_selection_price.push(formatNumber((hh_price_selection + surcharge_selection))); 9221 }); 9222 } 9223 9224 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 && 9225 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 && 9226 typeof closeModal === "undefined" && deal_selection_price.length){ 9227 $("#deal-price-"+dealPLU).html("$"+(Math.max(...deal_selection_price) + hh_item_option + hh_surcharge + item_option + toppings)); 9228 } else{ 9229 $("#deal-price-"+dealPLU).html("$"+formatNumber((parseFloat($("#deal-price-"+dealPLU).attr("orig-price")) + hh_price + hh_item_option + hh_surcharge + surcharge + item_option + toppings))); 9230 } 9231 } 9232 9233 function modal_height(elem){ 9234 var target_modal = $(elem); 9235 9236 if($(window).width() < 768){ 9237 var new_height = $(window).height() - (target_modal.find(".modal
9237-header").outerHeight() + target_modal.find(".modal-footer").outerHeight()) - 2; 9238 } else{ 9239 var new_height = $(window).height() - (target_modal.find(".modal-header").outerHeight() + target_modal.find(".modal-footer").outerHeight()) - 150; 9240 } 9241 9242 target_modal.find(".modal-body").css("min-height", new_height); 9243 target_modal.find(".modal-body").css("max-height", new_height); 9244 } 9245 9246 // Array checking length on free items 9247 function isEmpty(obj){ 9248 for(var key in obj){ 9249 if(obj.hasOwnProperty(key)) 9250 return false; 9251 } 9252 return true; 9253 } 9254 9255 function formatNumber(num){ 9256 // return num % 1 === 0 ? num.toString() : num.toFixed(2); 9257 return num.toFixed(2); 9258 } 9259 9260 function deals_popup(resp, menu_id){ 9261 var menu_id = (typeof menu_id === "undefined") ? "PROMO" : menu_id, 9262 deal_parent_id = resp.deal_parent_id; 9263 deal_id = resp.deal_id, 9264 deal_plu = resp.promotional_plu, 9265 deal_promo_code = resp.promocode, 9266 deal_modal_id = deal_plu+'-'+menu_id, 9267 promo_modal_id = '#menu-items > #add-popup-deals-'+deal_modal_id; 9268 9269 $.ajax({ 9270 type: "POST", 9271 url: "core/ajax/deals_popup.php", 9272 async: true, 9273 data: { 9274 "menu_id": menu_id, 9275 "deal_id": deal_id, 9276 "deal_plu": deal_plu, 9277 ...(menu_id === "UPSELL" ? { upsell: 1 } : {}), 9278 ...(menu_id === "FREE-ITEM" ? { is_free_deal_item: 1 } : {}) 9279 }, 9280 beforeSend: function(){ 9281 if(!$('body > #menu-items').length){ 9282 $('<div>', {id: 'menu-items'}).css({'display': 'block'}).appendTo('body'); 9283 } 9284 9285 let mheader_class = ' deal-loader-shimmer', 9286 mheader_style = '', 9287 mheader_text = ''; 9288 9289 if(['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id) || typeof deal_parent_id === 'undefined'){ 9290 mheader_text = 'Retrieving deal details...'; 9291 } else{ 9292 const deal_name = $('#'+deal_parent_id+' .item-title-container .item-title') 9293 .clone() // Clone the element 9294 .children('.item-icons-container') // Target the child to remove 9295 .remove() // Remove the icons container 9296 .end() // Go back to the cloned element 9297 .text() // Get the text content 9298 .trim(), 9299 deal_desc = $('#'+deal_parent_id+' .item-description').text(); 9300 9301 mheader_class = ''; 9302 mheader_style = 'background-color: unset;'; 9303 mheader_text = '<h4 class="modal-title" style="color:#000 !important;">'+deal_name+'</h4>'+ 9304 '<div class="modal-title item-description-popup" style="color:#000 !important;">'+deal_desc+'</div>' 9305 } 9306 9307 $('body > #menu-items').prepend(''+ 9308 '<div class="modal modal-popup modal-deals fade" id="add-popup-deals-'+deal_modal_id+'" role="dialog" data-backdrop="static" data-keyboard="false">'+ 9309 '<div class="modal-dialog modal-dialog-popup">'+ 9310 '<div class="modal-content modal-content-popup">'+ 9311 '<div class="modal-header'+mheader_class+'" style="'+mheader_style+'">'+ 9312 mheader_text+ 9313 '</div>'+ 9314 '<div class="modal-body" style="min-height:300px;">'+ 9315 '<div class="deal-loader-shimmer title-line"></div>'+ 9316 '<div class="deal-loader-shimmer title-line"></div>'+ 9317 '<div class="deal-loader-shimmer title-line"></div>'+ 9318 '<div class="deal-loader-shimmer title-line"></div>'+ 9319 '</div>'+ 9320 '<div class="modal-footer" style="text-align: center; position: relative;">'+ 9321 '<div>'+ 9322 '</div>'+ 9323 '</div>'+ 9324 '</div>' 9325 ); 9326 9327 $j(promo_modal_id).modal('show'); 9328 9329 setTimeout(function(){ 9330 modal_height(promo_modal_id); 9331 }, 200); 9332 }, 9333 success: function(resp){ 9334 if(['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id)){ 9335 $(promo_modal_id).addClass('deals-promo'); 9336 } 9337 9338 $(promo_modal_id+' > .modal-dialog > .modal-content').html(resp); 9339 $(promo_modal_id).attr('deal-selection', $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').attr('deal-selection')); 9340 $(promo_modal_id).attr('deal-bogo', $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').attr('deal-bogo')); 9341 $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').removeAttr('deal-selection'); 9342 $(promo_modal_id+' > .modal-dialog > .modal-content > .modal-header').removeAttr('deal-bogo'); 9343 9344 if(menu_id === "PROMO"){
9345 $(promo_modal_id+' .modal-header .message-container .promo-code-container').text(deal_promo_code); 9346 } 9347 9348 $('modal-deals .modal-body .lds-ring').css('top', '30%'); 9349 $('.modal-deals .modal-body #deal-modal-body-main-'+deal_modal_id+', .modal-deals .modal-footer').removeClass('hide'); 9350 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('menu-id', 'null').removeClass('hide'); 9351 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id+' button').prop('disabled', false); 9352 $('.modal-deals .modal-footer #deal-modal-footer-next-'+deal_modal_id+' button').prop('disabled', true); 9353 9354 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('menu-id'); 9355 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('upsell'); 9356 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).removeData('free-item'); 9357 9358 if(!['PROMO', 'UPSELL', 'FREE-ITEM'].includes(menu_id)){ 9359 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('menu-id', menu_id); 9360 } else if(menu_id === "UPSELL"){ 9361 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('upsell', '1') 9362 } else if(menu_id === "FREE-ITEM"){ 9363 $('.modal-deals .modal-footer #deal-modal-footer-add-'+deal_modal_id).data('free-item', '1') 9364 } 9365 9366 if($(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").length){ 9367 if($(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").length == 1){ 9368 var auto_expand = $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").attr("auto-expand"); 9369 if(typeof auto_expand !== "undefined" && auto_expand !== false){ 9370 if(auto_expand == "deal_selection"){ 9371 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").click(); 9372 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_modal_id+" button").text("Add to Order"); 9373 } else if(auto_expand == "auto_customized_btn"){ 9374 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items button.deal-selection-item").
9374click(); 9375 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_modal_id+" button").text("Add to Order"); 9376 } 9377 } 9378 } 9379 9380 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_modal_id+" .deal-selection-items").each(function(){ 9381 var ref = $(this).attr("ref"); 9382 deal_hh_left_array[parseInt(ref) - 1] = []; 9383 deal_hh_right_array[parseInt(ref) - 1] = []; 9384 }); 9385 9386 if(typeof $("#add-popup-deals-"+deal_modal_id).attr("deal-bogo") !== "undefined" && $("#add-popup-deals-"+deal_modal_id).attr("deal-bogo") == 1){ 9387 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_modal_id+" .deal-selected-item.auto-ds").each(function(){ 9388 $(this).attr("price", $(this).attr("auto-plu-price")); 9389 }); 9390 } 9391 } 9392 9393 modal_height(promo_modal_id); 9394 }, 9395 error: function(xhr, status, error){ 9396 $(promo_modal_id+' .modal-header').removeClass('deal-loader-shimmer').addClass('header-error').html(''+ 9397 'Oops!'+ 9398 '<p class="close close-popup deals-close-popup" data-dismiss="modal">×</p>' 9399 ); 9400 $(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>'); 9401 } 9402 }); 9403 } 9404 9405 jQuery.fn.center = function(){ 9406 this.css("position","absolute"); 9407 this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px"); 9408 this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px"); 9409 return this; 9410 } 9411 9412 $(document).ready(function(){ 9413 function get_cart_total(){ 9414 $('#cartTotal').load("https://doughboyz.com.au/core/ajax/get_cart_total.php?page="+PAGE_NAME, function(data){ 9415 $('#cartTotal, .cartTotal').html('$'+data); 9416 }); 9417 } 9418 9419 $(".accordion div.item").die().live("click", function(){ 9420 var id = $(this).parent().parent().attr("id"); 9421 9422 /* FIRST SECTION */ 9423 // slideup or hide all the Submenu 9424 $("#"+id+" li").children("div.sub-item").slideUp("fast"); 9425 9426 if($(this).parent().hasClass("open")){ 9427 $(this).parent().removeClass("open"); 9428 } else{ 9429 // remove all the "Over" class, so that the arrow reset to default 9430 $("#"+id+" div.item").each(function(){ 9431 if($(this).attr('rel')!=""){ 9432 $(this).removeClass($(this).attr("rel")+"Over"); 9433 } 9434 }); 9435 9436 $("#"+id+" div.item").parent().removeClass("open"); 9437 $(this).parent().addClass("open"); 9438 9439 /* SECOND SECTION */ 9440 // show the selected submenu 9441 $(this).siblings("div.sub-item").slideDown("fast"); 9442 9443 // add "Over" class, so that the arrow pointing down 9444 $(this).children("a").addClass($(this).children("li a").attr("rel")+"Over"); 9445 } 9446 9447 return false; 9448 }); 9449 9450 /* Deals */ 9451 9452 //Close the deals modal when clicked outside the deals modal 9453 $(document).mouseup(function (e) { 9454 var modalId = $('.modal-deals.fade.in').attr('id'); 9455 if(!$("#" + modalId + " .modal-dialog-popup").is(e.target) && !$("#" + modalId + " .modal-dialog-popup").has(e.target).length && !$(".jqifade:visible").length) { 9456 $("#" + modalId + " .deals-close-popup").click(); 9457 } 9458 9459 if(modalId){ 9460 $j('#'+modalId).on('hidden.bs.modal', function(e){ 9461 $("body > #menu-items").remove(); 9462 9463 if($(".upsell_btn").length){ 9464 $(".upsell_btn").html("Add").prop("disabled", false); 9465 } 9466 }); 9467 } 9468 }); 9469 9470 $(".deals-close-popup").die().live("click", function(){ 9471 var deal_plu = $(this).attr("plu"); 9472 9473 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 9474 $(".modal-deals .modal-body #deal-modal-message-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9475 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9476 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9477 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-hh-"+deal_plu).addClass("hide"); 9478 $(".modal-deals .modal-body .deal-modal-body-hh-selection-"+deal_plu).addClass("hide"); 9479 $(".modal-deals .modal-body .deal-hh-first-selection-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-selection-"+deal_plu).addClass("hide"); 9480 $(".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"); 9481 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).addClass("hide"); 9482 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 9483 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 9484 $(".modal-deals .modal-header #back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9485 $(".modal-deals .modal-header #back-to-selection-"+deal_plu).parent().addClass("hide"); 9486 $(".modal-deals .modal-header #back-to-selection-"+deal_plu).parent().data("item-ref", ""); 9487 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 9488 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("ref"); 9489 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("return-to"); 9490 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("hh-ref"); 9491 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("ref"); 9492 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("hh-ref"); 9493 $(".modal-deals .modal-body p.deal-selection").css("background-color", "").removeAttr("customizable"); 9494 $(".modal-deals .deal-selection .deal-selection-name .deal-item-name-selected").html(""); 9495 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 9496 $(".modal-deals .deal-selection .deal-selection-icon, .modal
9496-deals .auto-deal-selection.multi .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-chevron-right"); 9497 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").not(".auto-ds").val(""); 9498 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").not(".auto-ds").removeAttr("selection-id"); 9499 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeAttr("price"); 9500 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeAttr("loaded"); 9501 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-upgrade"); 9502 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-surcharge-price"); 9503 $(".modal-deals #deal-modal-body-selection-"+deal_plu+" .deal-selected-item").removeClass("hh-item-option-price"); 9504 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).data("menu-id", ""); 9505 $(".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); 9506 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 9507 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 9508 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("hh-ref"); 9509 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeClass("add-deal-hh"); 9510 $(".modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).empty(); 9511 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+" .deal-hh-remaing-topping-"+deal_plu).val(hh_max_toppings); 9512 $(".modal-deals .modal-body .deal-hh-first-item-list-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-item-list-"+deal_plu).removeClass("hide"); 9513 $(".modal-deals .modal-body .deal-hh-first-selected-"+deal_plu+", .modal-deals .modal-body .deal-hh-second-selected-"+deal_plu).addClass("hide").empty(); 9514 $(".modal-deals .modal-body .deal-hh-first-"+deal_plu+" span.deal-hh-first-item-label").html("Select your first half"); 9515 $(".modal-deals .modal-body .deal-hh-second-"+deal_plu+" span.deal-hh-second-item-label").html("Select your second half"); 9516 $(".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"); 9517 $(".modal-deals .modal-body .first-half-plu-"+deal_plu+", .modal-deals .modal-body .second-half-plu-"+deal_plu).val(""); 9518 9519 deal_hh_left_plu = []; 9520 deal_hh_right_plu = []; 9521 deal_hh_item_option = []; 9522 deal_hh_left_array = []; 9523 deal_hh_right_array = []; 9524 9525 dealGetTotal(deal_plu, true); 9526 }); 9527 9528 $(".add-deal").die().live("click", function(){ 9529 var deal_parent_id = $(this).closest('li').attr('id'); 9530 var deal_id = $(this).attr("deal-id"); 9531 var menu_id = $(this).attr("menu-id"); 9532 var deal_plu = $(this).attr("plu")+"-"+menu_id; 9533 deals_popup({deal_parent_id: deal_parent_id, deal_id: deal_id, promotional_plu: $(this).attr("plu"), promocode: ""}, menu_id); 9534 }); 9535 9536 $(".deal-selection").die().live("click", function(){ 9537 var ref = $(this).attr("ref"); 9538 var deal_plu = $(this).attr("plu"); 9539 var customizable = $(this).attr("customizable"); 9540 9541 if($("#deal-selected-item-"+deal_plu+"-"+ref).val() == "HH"){ 9542 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-header #deal-modal-header-"+deal_plu).addClass("hide"); 9543 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9544 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9545 $(".modal-deals .modal-body .deal-modal-body-hh-"+deal_plu).addClass("hide"); 9546 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).removeClass("hide"); 9547 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 9548 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 9549 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false).attr("ref", ref).addClass("add-deal-hh"); 9550 } else{ 9551 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9552 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 9553 $("#back-to-selection-"+deal_plu).parent().data("item-ref", ref); 9554 9555 if(!$("#deal-selected-item-"+deal_plu+"-"+ref).val() || (typeof customizable !== "undefined" && customizable !== false && customizable == "false")){ 9556 $(".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"); 9557 $(".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"); 9558 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button, .modal
9558-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9559 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html("Choose - "+$(this).find("span.deal-selection-name").attr("selection-label")); 9560 9561 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9562 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 9563 } 9564 9565 $("#back-to-selection-"+deal_plu).parent().data("item-selection", $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html()); 9566 } else{ 9567 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9568 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9569 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).removeClass("hide"); 9570 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).removeClass("hide"); 9571 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html("Customise"); 9572 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", true); 9573 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9574 9575 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9576 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9577 } 9578 9579 $("#back-to-selection-"+deal_plu).parent().data("item-selection", "Choose - "+$(this).find("span.deal-selection-name").attr("selection-label")); 9580 $("#back-to-selection-"+deal_plu).parent().removeClass("hide"); 9581 } 9582 } 9583 9584 modal_height("#add-popup-deals-"+deal_plu); 9585 }); 9586 9587 $(".back-to-main").die().live("click", function(){ 9588 var deal_plu = $(this).attr("plu"); 9589 9590 $(".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"); 9591 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9592 $(".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"); 9593 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 9594 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9595 $(".modal-deals .modal-body").scrollTop($(".modal-body").offset().top); 9596 9597 modal_height("#add-popup-deals-"+deal_plu); 9598 }); 9599 9600 $(".deal-selection-item, .deal-item-thumb").die().live("click", function(){ 9601 if($(this).hasClass("deal-item-thumb")){ 9602 var ref = $(this).prev().attr("ref"); 9603 var item_plu = $(this).prev().attr("item-plu"); 9604 var deal_plu = $(this).prev().attr("deal-plu"); 9605 var selection_id = $(this).prev().attr("selection-id"); 9606 var surcharge = $(this).prev().attr("price"); 9607 var deal_item_name = $(this).prev().find("p.deal-item-name").html(); 9608 } else{ 9609 var ref = $(this).attr("ref"); 9610 var item_plu = $(this).attr("item-plu"); 9611 var deal_plu = $(this).attr("deal-plu"); 9612 var selection_id = $(this).attr("selection-id"); 9613 var surcharge = $(this).attr("price"); 9614 var deal_item_name = $(this).find("p.deal-item-name").html(); 9615 } 9616 9617 if(surcharge == undefined){ 9618 surcharge = 0; 9619 } 9620 9621 if($(this).parent().parent().hasClass("auto-deal-selection")){ 9622 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).addClass("hide"); 9623 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).addClass("hide"); 9624 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 9625 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9626 $("#back-to-selection-"+deal_plu).parent().addClass("hide"); 9627 9628 if($(this).hasClass("multi")){ 9629 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 9630 } 9631 } else{ 9632 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 9633 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(" - "+deal_item_name); 9634 } 9635 9636 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9637 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).removeClass("hide"); 9638 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal
9638-title").html("Customise"); 9639 $(".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); 9640 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").attr("ref", ref); 9641 9642 if(!$(this).parent().parent().hasClass("auto-deal-selection")){ 9643 $("#back-to-main-deal-"+deal_plu).parent().addClass("hide"); 9644 $("#back-to-selection-"+deal_plu).parent().removeClass("hide"); 9645 } 9646 9647 if(typeof $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded") === "undefined" || $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded") === false){ 9648 $(".modal-deals .modal-body .lds-ring").show(); 9649 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("loaded", "1"); 9650 if(!$(this).parent().parent().hasClass("auto-deal-selection")){ 9651 $("#deal-selected-item-"+deal_plu+"-"+ref).attr({"selection-id": selection_id, "price": surcharge}).val(item_plu); 9652 } 9653 9654 deal_toppings_ajax = $.ajax({ 9655 type: "POST", 9656 url: "core/ajax/get_extra_toppings_popup_deals.php", 9657 data: "deal_plu="+deal_plu+"&item_plu="+item_plu+"§ion="+ref, 9658 success: function(data){ 9659 $(".modal-deals .modal-body .lds-ring").hide(); 9660 modal_height("#add-popup-deals-"+deal_plu); 9661 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).html(data); 9662 $(".modal-deals .modal-footer #deal-max-toppings-"+deal_plu).html(deal_max_toppings); 9663 $(".modal-deals .modal-footer #deal-num-free-extra-"+deal_plu).html(deal_num_free_extra); 9664 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9665 9666 if($("#"+deal_plu+"-"+item_plu+"-"+ref+"-topping-ctr").length){ 9667 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").click(); 9668 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).attr("customizable", "false"); 9669 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 9670 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).empty(); 9671 } else{ 9672 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).removeAttr("customizable"); 9673 if($("div.deal-item-option-container-"+ref).length == 1 && !$("div.deal-item-option-container-"+ref).hasClass("multi")){ 9674 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 9675 $("input[name='deal-item-option-"+deal_plu+"-"+item_plu+"-"+ref+"']:first").attr("checked", true); 9676 } 9677 } 9678 } 9679 9680 dealGetTotal(deal_plu); 9681 } 9682 }); 9683 } else{ 9684 if($(this).parent().parent().hasClass("auto-deal-selection")){ 9685 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", true); 9686 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 9687 } 9688 } 9689 }); 9690 9691 $(".auto-deal-selection").die().live("click", function(e){ 9692 if(!$(e.target).is("button.deal-selection-item") && $(this).find("button.deal-selection-item").length){
9693 $(this).find("button.deal-selection-item").click(); 9694 } 9695 }); 9696 9697 $(".deal-item-option-radio").die().live("click", function(){ 9698 var deal_plu = $(this).attr("plu"); 9699 dealGetTotal(deal_plu); 9700 }); 9701 9702 $(".back-to-selection").die().live("click", function(){ 9703 var ref = $(this).parent().data("item-ref"); 9704 var deal_plu = $(this).attr("plu"); 9705 9706 if(deal_toppings_ajax.status !== 200){ 9707 deal_toppings_ajax.abort(); 9708 $(".modal-deals .modal-body .lds-ring").hide(); 9709 } 9710 9711 $(this).parent().addClass("hide"); 9712 9713 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 9714 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 9715 } 9716 9717 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("selection-id").val(""); 9718 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("price"); 9719 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 9720 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+" .modal-title").html($(this).parent().data("item-selection")); 9721 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9722 $(".modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9723 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).removeClass("hide"); 9724 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+"-"+ref).empty(); 9725 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-ok glyphicon-chevron-right").addClass("glyphicon-chevron-right"); 9726 $("#deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(""); 9727 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9728 dealGetTotal(deal_plu); 9729 9730 modal_height("#add-popup-deals-"+deal_plu); 9731 }); 9732 9733 $(".deal-modal-footer-next").die().live("click", function(){ 9734 var ref = $(this).attr("ref"); 9735 var deal_plu = $(this).attr("plu"); 9736 var parent_div = $(this).closest('li').attr('id'); 9737 var modal_div = $(this).closest('.modal-popup').attr('id'); 9738 9739 if(parent_div === undefined){ 9740 parent_div = modal_div; 9741 } 9742 9743 var mio_ids = [], 9744 mio_msg = [], 9745 mio_req = 0; 9746 9747 $("#"+ parent_div +" .deal-item-option-radio[ref='"+ref+"']").each(function(){ 9748 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 9749 mio_ids.push($(this).attr('mio-id')); 9750 } 9751 mio_ids = [... new Set(mio_ids)]; 9752 }); 9753 9754 var io_div; 9755 $.each(mio_ids, function(key, val){ 9756 var io_selected = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":checked").length, 9757 io_min = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").attr('min-io'), 9758 io_max = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").attr('max-io'), 9759 io_name = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").parent().siblings("div.deal-item-option-group-name-"+val+"-"+ref).find("p").text(), 9760 io_container = $("#"+parent_div+" .deal-item-option-radio-"+val+"-"+ref+":first").parent().parent(); 9761 9762 io_container.css({"padding":"", "border":""}); 9763 9764 if(io_selected < io_min){ 9765 io_container.css({"padding":"5px", "border":"1px solid #dc3545"}); 9766 mio_req++; 9767 9768 if(!io_div){ 9769 io_div = io_container; 9770 } 9771 } else if(io_selected > io_max){ 9772 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 9773 } 9774 }); 9775 9776 if(mio_req > 0){ 9777 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK"); 9778 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 9779 return false; 9780 } 9781 9782 if(mio_msg.length > 0){ 9783 showModalAlert("warning", "Invalid Selection", mio_msg.join("<br/>"), "OK"); 9784 return false;
9785 } 9786 9787 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 9788 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-selection-list-"+deal_plu).addClass("hide"); 9789 $(".modal-deals .modal-body #deal-modal-body-customize-"+deal_plu+", .modal-deals .modal-body .deal-modal-body-customize-"+deal_plu).addClass("hide"); 9790 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 9791 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 9792 $("#back-to-selection-"+deal_plu).parent().addClass("hide"); 9793 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 9794 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 9795 $("#deal-selection-"+deal_plu+"-"+ref).css("background-color", ""); 9796 9797 modal_height("#add-popup-deals-"+deal_plu); 9798 9799 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 9800 if(!$(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").hasClass("disabled")){ 9801 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").click(); 9802 } 9803 } 9804 }); 9805 9806 $(".deal-modal-footer-add").die().live("click", function(){ 9807 if($("input[name='storestatus']").val()=='offline'){ 9808 showModalAlert("error", "Store Offline", $('#offline-alert-txt').html(), "OK"); 9809 9810 if(check_store_stat() == "online"){ 9811 location.reload(); 9812 } 9813 9814 return; 9815 } 9816 9817 var _this = $(this); 9818 var deal_plu = $(this).attr("plu"); 9819 var special_plu = $(this).attr("spec-plu"); 9820 var valid = false; 9821 9822 if($(".deal-selected-item-"+deal_plu).length > 0){ 9823 valid = true; 9824 $(".deal-selected-item-"+deal_plu).each(function(){ 9825 if(!$(this).val()){ 9826 $("#deal-selection-"+deal_plu+"-"+$(this).attr("ref")).css("background-color", "#e74c3c9c"); 9827 valid = false; 9828 } else if(typeof $(this).attr("deal-multi-item-option-required") !== "undefined" && $(this).attr("deal-multi-item-option-required") !== false){ 9829 if($("#deal-modal-body-customize-"+deal_plu+"-"+$(this).attr("ref")).is(":empty")){ 9830 $("#deal-selection-"+deal_plu+"-"+$(this).attr("ref")).css("background-color", "#e74c3c9c"); 9831 valid = false; 9832 } 9833 } 9834 }); 9835 } 9836 9837 if(!valid){ 9838 showModalAlert("warning", "Incomplete Order", "Please complete all sections to finish your order", "OK"); 9839 return false; 9840 } else{ 9841 var i = 0, 9842 item_array = new Array(), 9843 left_plus, 9844 right_plus, 9845 left_toppings, 9846 right_toppings, 9847 item_options; 9848 9849 $(".deal-selected-item-"+deal_plu).each(function(){ 9850 var option_id=""; 9851 var price = 0; 9852 var section = $(this).attr("ref"); 9853 var PLU = $(this).val(); 9854 var selection_id = $(this).attr("selection-id"); 9855 var surcharge = $(this).attr("price"); 9856 9857 if($(this).val() == "HH"){ 9858 if(surcharge == undefined){ 9859 surcharge = 0; 9860 } 9861 9862 if(selection_id === undefined){ 9863 selection_id=""; 9864 } 9865 9866 var item_details = new Array("", 1, option_id, surcharge, price, selection_id, "", "", "HH"); 9867 } else{ 9868 if($("input[name='deal-item-option-"+deal_plu+"-"+PLU+"-"+section+"']:checked").length > 0){ 9869 $("input[name='deal-item-option-"+deal_plu+"-"+PLU+"-"+section+"']:checked").each(function(){ 9870 option_id += (option_id.trim()!="") ? "," : ""; 9871 option_id += $(this).val(); 9872 }); 9873 } else if(typeof $(this).attr("deal-item-option-id") !== "undefined" && $(this).attr("deal-item-option-id") !== false){ 9874 option_id += (option_id.trim()!="") ? "," : ""; 9875 option_id += $(this).attr("deal-item-option-id"); 9876 } 9877 9878 var extra_array = new Array(); 9879 var ii = 0; 9880 if($("#current-toppings-list-ul-deals-"+deal_plu+"-"+PLU+"-"+section+" li input:not(:checked)").length > 0){ 9881 $("#current-toppings-list-ul-deals-"+deal_plu+"-"+PLU+"-"+section+" li input:not(:checked)").each(function(){ 9882 var plu = $(this).attr("plu"); 9883 var extra_price = $(this).val(); 9884 9885 var extras = new Array(plu, extra_price, -1, true); 9886 9887 if(typeof extras != 'undefined'){ 9888 extra_array[ii] = extras; 9889 } 9890 9891 ii++; 9892 }); 9893 } 9894 9895 if($("#deal-modal-body-customize-"+deal_plu+"-"+section+" li input:checked").length > 0){ 9896 $("#deal-modal-body-customize-"+deal_plu+"-"+section+" li input:checked").each(function(){ 9897 var plu = $(this).attr("plu"); 9898 var extra_price = $(this).val(); 9899 9900 if(!$(this).hasClass("current_item")){ 9901 var extras = new Array(plu, extra_price, 1, false); 9902 9903 if(typeof extras != 'undefined'){ 9904 extra_array[ii] = extras; 9905 } 9906 9907 ii++; 9908 } 9909 }); 9910 } 9911 9912 if(extra_array === undefined){ 9913 extra_array=""; 9914 } 9915 9916 if (surcharge == undefined){ 9917 surcharge = 0; 9918 } 9919 9920 if(selection_id === undefined){ 9921 selection_id=""; 9922 } 9923 9924 // mimic the format of the original free_toppings from priceBaseOnOrderType() function 9925 var f_tops = { 9926 free_toppings_list: [] 9927 }; 9928 9929 if(deal_toppings_list[deal_plu] !== undefined && !isEmpty(deal_toppings_list[deal_plu]["section_"+(i+1)])){ 9930 f_tops = deal_toppings_list[deal_plu]["section_"+(i+1)]; 9931 } 9932 9933 var item_details = new Array(PLU, 1, option_id, surcharge, price, selection_id, extra_array, f_tops.free_toppings_list); 9934 } 9935 9936 item_array[i] = item_details; 9937 i++; 9938 }); 9939 9940 left_plus = deal_hh_left_plu; 9941 right_plus = deal_hh_right_plu; 9942 left_toppings = deal_hh_left_array; 9943 right_toppings = deal_hh_right_array; 9944 item_options = deal_hh_item_option; 9945 9946 setTimeout(function(){ 9947 $(".deals-close-popup-"+deal_plu).click(); 9948 }, 50); 9949 9950 $.post("core/ajax/add_special.php", { 9951 'special_plu': special_plu, 9952 'price': 0, 9953 'item_array': item_array, 9954 'menu_id': $(this).parent().data("menu-id"), 9955 ...(typeof $(this).parent().data("free-item") !== 'undefined' && $(this).parent().data("free-item") == 1 ? { 'is_free_deal_item': 1 } : {}), 9956 'promotional_code_used': 0, 9957 'deal_minimum_order': $(this).attr("min-order"), 9958 'left_plus': left_plus, 9959 'right_plus': right_plus, 9960 'left_toppings': left_toppings, 9961 'right_toppings': right_toppings, 9962 'item_options': item_options 9963 }).done(function(data){ 9964 try{ 9965 if (data && data.response_code !== undefined && data.response_code != '00') { 9966 showModalAlert("info", "Message", data.message, "OK"); 9967 return false;
9968 } 9969 } catch(e){ 9970 9971 } 9972 9973 $("#view-basket").load("core/mybasket.php", function(){ 9974 get_cart_total(); 9975 9976 if(!$('#free_item_plu').length){ 9977 new PNotify({ 9978 text: "Item added to order.", 9979 width: "220px", 9980 delay: 3000, 9981 type: "success" 9982 }); 9983 } 9984 }); 9985 }); 9986 } 9987 }); 9988 9989 $(".deal_add_extra").die().live("click", function(){ 9990 var ref = $(this).attr("ref"); 9991 var deal_plu = $(this).attr("deal-plu"); 9992 var item_plu = $(this).attr("item-plu"); 9993 var topping_plu = $(this).attr("topping-plu"); 9994 deal_max_toppings = $(".modal-deals .modal-footer #deal-max-toppings-"+deal_plu).html(); 9995 deal_num_free_extra = $(".modal-deals .modal-footer #deal-num-free-extra-"+deal_plu).html(); 9996 9997 var deal_cur_toppings = dealCheckMaxToppings(deal_plu, item_plu, ref); 9998 9999 if(deal_cur_toppings > deal_max_toppings){ 10000 showModalAlert("warning", "Limit Reached", "You have reached the extras limit of "+deal_max_toppings, "OK"); 10001 return false; 10002 } 10003 10004 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")); 10005 if(!price){ 10006 price = $(this).attr("value"); 10007 } 10008 10009 if(deal_num_free_extra > 0 && deal_num_free_extra > deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length){ 10010 price = 0; 10011 } 10012 10013 if($(this).prop("checked")){ 10014 if(deal_cur_toppings <= deal_max_toppings && deal_cur_toppings >= 0){ 10015 if(deal_num_free_extra && price == 0){ 10016 if(deal_num_free_extra > deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length){ 10017 deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].push(topping_plu); 10018 $(this).addClass("free_item"); 10019 } 10020 } 10021 } 10022 } else{ 10023 var position = deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].indexOf(topping_plu); 10024 if(position >= 0){ 10025 // only remove if its found; has index of 0 or greater 10026 deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].splice(position, 1); // clean the array free item checker 10027 $(this).removeClass("free_item"); 10028 } 10029 } 10030 10031 dealGetTotal(deal_plu); 10032 deal_cur_toppings = dealCheckMaxToppings(deal_plu, item_plu, ref); 10033 var toppings_left = deal_max_toppings - deal_cur_toppings; 10034 var free_toppings_left = deal_num_free_extra - deal_toppings_list[deal_plu]["section_"+ref]["free_toppings_list"].length; 10035 $(".deal-remaining-topping-"+deal_plu+"-"+item_plu+"-"+ref).html(toppings_left); 10036 $(".deal-free-remaining-topping-"+deal_plu+"-"+item_plu+"-"+ref).html(free_toppings_left); 10037 }); 10038 10039 if($(".upgrade-to-hh").length > 0){ 10040 $(".upgrade-to-hh").parent().parent().css("padding", "15px 15px 10px 15px"); 10041 } 10042 10043 $(".upgrade-to-hh").die().live("click", function(){ 10044 var ref = $(this).attr("ref"); 10045 var deal_plu = $(this).attr("plu"); 10046 var total_hh_item_option = 0; 10047 var item_option_price =0; 10048 var hh_surcharge_price = 0; 10049 var original_price = $("#deal-price-"+deal_plu).attr("orig-price"); 10050 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).addClass("hide"); 10051 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).addClass("hide"); 10052 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).addClass("hide"); 10053 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10054 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).removeClass("hide"); 10055 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).removeClass("hide"); 10056 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 10057 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 10058 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).val("HH").addClass("hh-upgrade"); 10059 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true).attr({"ref": ref}); 10060 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref+" .deal-hh-remaining-topping").html(hh_max_toppings); 10061 $("#deal-hh-remaining-topping-"+deal_plu+"-"+ref).val(hh_max_toppings); 10062 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-first"); 10063 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-second"); 10064 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge"); 10065 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-item-option-price") 10066 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']").length > 0){ 10067 $(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:first").attr("checked", true); 10068 } 10069 10070 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10071 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10072 } 10073 10074 if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref+" .deal-hh-item-option .deal-hh-item-option-radio").length>0){ 10075 $("#deal-modal-body-hh-"+deal_plu+"-"+ref+" .deal-hh-item-option .deal-hh-item-option-radio").each(function(){ 10076 if ($(this).attr("checked")!=undefined){ 10077 10078 item_option_price = $(this).attr("price")??0; 10079 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-item-option-price",item_option_price).val("HH") 10080 } 10081 }) 10082 } 10083 if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-option .hh-surcharge").attr("surcharge")!=undefined){ 10084 hh_surcharge_price = $("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-option .hh-surcharge").attr("surcharge")??0; 10085 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge-price",hh_surcharge_price).val("HH") 10086 } 10087 else if ($("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-pizza .hh-surcharge").attr("surcharge")!=undefined){ 10088 hh_surcharge_price = $("#deal-modal-body-hh-"+deal_plu+"-"+ref +" .deal-hh-pizza .hh-surcharge").attr("surcharge")??0; 10089 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge-price",hh_surcharge_price).val("HH") 10090 } 10091 dealGetTotal(deal_plu) 10092 10093 }); 10094 10095 $(".deal-hh-item-option-radio").die().live("change",function(){ 10096 var deal_plu = $(this).attr("plu"); 10097 var item_option_price = $(this).attr("price")??0; 10098 var deal_plu_ref = ($(this).attr("id").replace("deal-hh-item-option-","")).replace("-"+$(this).val().toString(),"") 10099 var original_price = $("#deal-price-"+deal_plu).attr("orig-price"); 10100 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu_ref).val(); 10101 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu_ref).val(); 10102 10103 if ($("#deal-modal-body-hh-"+deal_plu_ref+" .deal-hh-item-option .deal-hh-item-option-radio").length>0){ 10104 $("#deal-modal-body-hh-"+deal_plu_ref+" .deal-hh-item-option .deal-hh-item-option-radio").each(function(){ 10105 if ($(this).is(":checked")){ 10106 10107 item_option_price = $(this).attr("price")??0; 10108 $("#deal-selected-item-"+deal_plu_ref).attr("hh-item-option-price",item_option_price).val("HH"); 10109 } 10110 }) 10111 } 10112 dealGetTotal(deal_plu) 10113 }); 10114 10115 $(".back-to-main-deal-hh").die().live("click", function(){ 10116 var ref = $(this).attr("ref"); 10117 var hh_ref = $(this).attr("hh-ref");
10118 var return_to = $(this).attr("return-to"); 10119 var deal_plu = $(this).attr("plu"); 10120 10121 if(typeof ref !== "undefined" && ref !== false && typeof return_to !== "undefined" && return_to !== false){ 10122 if(return_to == "deal-main-selection"){ 10123 $(this).removeAttr("ref"); 10124 $(this).removeAttr("return-to"); 10125 $(this).removeAttr("hh-ref"); 10126 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10127 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 10128 $(".modal-deals .modal-header #deal-modal-header-"+deal_plu).removeClass("hide"); 10129 $(".modal-deals .modal-body #deal-modal-body-selection-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).removeClass("hide"); 10130 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeClass("hh-upgrade"); 10131 $(".modal-deals .modal-footer #deal-modal-footer-next-"+deal_plu).removeClass("hide"); 10132 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("ref"); 10133 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").removeAttr("hh-ref"); 10134 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-ok glyphicon-chevron-right").addClass("glyphicon-chevron-right"); 10135 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(""); 10136 $(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-item-label").html("Select your first half"); 10137 $(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-item-label").html("Select your second half"); 10138 $(".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"); 10139 $(".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(); 10140 $(".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"); 10141 $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref+", .modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(""); 10142 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("selection-id").val(""); 10143 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("price"); 10144 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("loaded"); 10145 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge-price"); 10146 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-item-option-price"); 10147 10148 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") > 1){ 10149 $("#back-to-main-deal-"+deal_plu).parent().removeClass("hide"); 10150 } 10151 10152 dealGetTotal(deal_plu); 10153 10154 delete deal_hh_left_plu[parseInt(ref) - 1]; 10155 delete deal_hh_right_plu[parseInt(ref) - 1]; 10156 delete deal_hh_item_option[parseInt(ref) - 1]; 10157 deal_hh_left_array[parseInt(ref) - 1] = []; 10158 deal_hh_right_array[parseInt(ref) - 1] = []; 10159 } else if(return_to == "hh-main-selection"){ 10160 $(this).attr("return-to", "deal-main-selection"); 10161 $(this).removeAttr("hh-ref"); 10162 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 10163 $(".modal-deals .modal-body #deal-modal-body-hh-selection-"+deal_plu+"-"+ref).addClass("hide"); 10164 $(".modal-deals .modal-body #deal-hh-first-selection-"+deal_plu+"-"+ref+", .modal-deals .modal-body #deal-hh-second-selection-"+deal_plu+"-"+ref).addClass("hide"); 10165 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide"); 10166 10167 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10168 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10169 } 10170 10171 if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-ok") || 10172 $(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-ok")){ 10173 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false).addClass("add-deal-hh"); 10174 } 10175 } 10176 } else{ 10177 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+", .modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu).addClass("hide"); 10178 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10179 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu).removeClass("hide"); 10180 $(".modal-deals .modal-body #deal-modal-body-main-"+deal_plu+", .modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 10181 } 10182 10183 $(".modal-deals .modal-body #deal-modal-body-selection-list-"+deal_plu+"-"+ref).scrollTop($(".modal-body").offset().top); 10184 modal_height("#add-popup-deals-"+deal_plu); 10185 }); 10186 10187 $(".modal-deals .deal-hh-first").die().live("click", function(){ 10188 var ref = $(this).attr("ref"); 10189 var deal_plu = $(this).attr("plu"); 10190 10191 if(!$(this).hasClass("disabled")){ 10192 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10193 $(".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"); 10194 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Choose Your First Half"); 10195 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "hh-main-selection", "hh-ref": "first"}); 10196 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": "first"}).removeClass("add-deal-hh");
10197 $("#add-popup-deals-"+deal_plu+" .modal-body").scrollTop(0); 10198 10199 if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-chevron-right")){ 10200 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10201 } else if($(".modal-deals .modal-body #deal-hh-first-"+deal_plu+"-"+ref+" span.deal-hh-first-icon").hasClass("glyphicon-ok")){ 10202 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 10203 } 10204 10205 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10206 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10207 } 10208 10209 if($(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val()){ 10210 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).attr({"ref": ref, "hh-ref": "first"}).parent().removeClass("hide"); 10211 } 10212 10213 if($("#"+deal_plu+"-"+ref+"-first-topping-ctr").length){ 10214 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10215 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10216 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).click(); 10217 } else{ 10218 if($(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val()){ 10219 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10220 $(".modal-deals .modal-body #deal-hh-first-selected-"+deal_plu+"-"+ref).removeClass("hide"); 10221 } 10222 } 10223 10224 modal_height("#add-popup-deals-"+deal_plu); 10225 } 10226 }); 10227 10228 $(".modal-deals .deal-hh-second").die().live("click", function(){ 10229 var ref = $(this).attr("ref"); 10230 var deal_plu = $(this).attr("plu"); 10231 10232 if(!$(this).hasClass("disabled")){ 10233 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10234 $(".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"); 10235 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Choose Your Second Half"); 10236 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "hh-main-selection", "hh-ref": "second"}); 10237 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": "second"}).removeClass("add-deal-hh"); 10238 $("#add-popup-deals-"+deal_plu+" .modal-body").scrollTop(0); 10239 10240 if($(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-chevron-right")){ 10241 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10242 } else if($(".modal-deals .modal-body #deal-hh-second-"+deal_plu+"-"+ref+" span.deal-hh-second-icon").hasClass("glyphicon-ok")){ 10243 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", false); 10244 } 10245 10246 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10247 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10248 } 10249 10250 if($(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val()){ 10251 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).attr({"ref": ref, "hh-ref": "second"}).parent().removeClass("hide"); 10252 } 10253 10254 if($("#"+deal_plu+"-"+ref+"-second-topping-ctr").length){ 10255 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10256 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10257 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).click(); 10258 } else{ 10259 if($(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val()){ 10260 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10261 $(".modal-deals .modal-body #deal-hh-second-selected-"+deal_plu+"-"+ref).removeClass("hide"); 10262 } 10263 } 10264 10265 modal_height("#add-popup-deals-"+deal_plu); 10266 } 10267 }); 10268 10269 $(".deal-hh-selection-item, .deal-hh-item-thumb").die().live("click", function(e){ 10270 if($(this).hasClass("deal-hh-item-thumb")){ 10271 var plu = $(this).prev().attr("item-plu"); 10272 var deal_plu = $(this).prev().attr("deal-plu"); 10273 var ref = $(this).prev().attr("ref"); 10274 var which_half = $(this).prev().attr("hh-ref"); 10275 var cgroup_id = $(this).prev().attr("cgroup_id"); 10276 var subid = $(this).prev().attr("subid"); 10277 var selection_id = $(this).prev().attr("selection-id"); 10278 var item_name = $(this).prev().find("p.deal-hh-item-name").html(); 10279 } else{ 10280 var plu = $(this).attr("item-plu"); 10281 var deal_plu = $(this).attr("deal-plu"); 10282 var ref = $(this).attr("ref"); 10283 var which_half = $(this).attr("hh-ref"); 10284 var cgroup_id = $(this).attr("cgroup_id"); 10285 var subid = $(this).attr("subid"); 10286 var selection_id = $(this).attr("selection-id"); 10287 var item_name = $(this).find("p.deal-hh-item-name").html(); 10288 } 10289 10290 //if HH has price, include the price when selection is finished 10291 var price = (typeof $(this).attr("price") !== "undefined" && $(this).attr("price") !== false) ? parseFloat($(this).attr("price")) : 0; 10292 var charge_item = (typeof $(this).attr("data-charge-item") !== "undefined" && $(this).data("chargeItem") == 1); 10293 var split_hh = (typeof $(this).attr("data-split-half-price") !== "undefined" && $(this).data("splitHalfPrice")
10293== 1); 10294 10295 hh_cur_toppings = hh_cur_toppings - hh_cur_toppings_tmp; 10296 10297 $(".modal-deals .modal-body #"+which_half+"-half-plu-"+deal_plu+"-"+ref).val(plu).attr("price", price); 10298 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).addClass("hide"); 10299 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide").html(""); 10300 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").show(); 10301 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" .back-to-pizza-deal-hh").attr({"ref": ref, "hh-ref": which_half}); 10302 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().addClass("hide"); 10303 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().removeClass("hide"); 10304 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("selection-id", selection_id).val("HH"); 10305 10306 deal_hh_toppings_ajax = $.ajax({ 10307 type: "POST", 10308 url: "core/ajax/get_extra_toppings_popup.php", 10309 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, 10310 success: function(data){ 10311 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").hide(); 10312 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).removeClass("hide").html(data); 10313 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-item-label").html(item_name); 10314 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-icon").removeClass("glyphicon-chevron-right").addClass("glyphicon-ok"); 10315 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").attr({"ref": ref, "hh-ref": which_half}).prop("disabled", false); 10316 $(".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()); 10317 10318 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10319 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Next"); 10320 } 10321 10322 if($("#"+deal_plu+"-"+ref+"-"+which_half+"-topping-ctr").length){ 10323 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10324 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10325 } 10326 10327 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").click(); 10328 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide"); 10329 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).removeClass("hide"); 10330 } 10331 } 10332 }); 10333 10334 var first_half_elem = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref); 10335 var second_half_elem = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref); 10336 var first_plu = first_half_elem.val(); 10337 var second_plu = second_half_elem.val(); 10338 var section_id = $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-name").attr("selection-section-id"); 10339 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)); 10340 10341 if(first_plu && second_plu){ 10342 $.ajax({ 10343 type: "POST", 10344 url: "core/ajax/get_half_half_price.php", 10345 data: "first_plu="+first_plu+"&second_plu="+second_plu+"§ion_id="+section_id+"&is_special=true"+(has_price ? '' : '&remove_price=1'), 10346 success: function(data){ 10347 if(data){ 10348 var price = parseFloat(data.trim()); 10349 var extra_price = 0; 10350 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge", price).val("HH"); 10351 if($("."+deal_plu+"-"+ref+"-first-accordion li input:checked").length > 0){ 10352 $("."+deal_plu+"-"+ref+"-first-accordion li input:checked").each(function(){ 10353 if($(this).val()){ 10354 extra_price += (parseFloat($(this).val())); 10355 } 10356 }); 10357 } 10358 price = price + extra_price; 10359 10360 var extra_price = 0; 10361 if($("."+deal_plu+"-"+ref+"-second-accordion li input:checked").length > 0){ 10362 $("."+deal_plu+"-"+ref+"-second-accordion li input:checked").each(function(){ 10363 if($(this).val()){ 10364 extra_price += (parseFloat($(this).val())); 10365 } 10366 }); 10367 } 10368 price = price + extra_price; 10369 10370 if(price > 0) 10371 { 10372 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("price", price); 10373 } 10374 dealGetTotal(deal_plu); 10375 } 10376 } 10377 }); 10378 } 10379 }); 10380 10381 $(".add_deal_hh_extra").die().live("click",function(){ 10382 var extra_price = parseFloat($(this).val()); 10383 var price =0; 10384 var deal_plu = $(this).attr('deal-plu'); 10385 var ref = $(this).attr('ref'); 10386 var which_half =($(this).attr("id").replace("extra-"+deal_plu+"-"+ref+"-","")).replace("-"+$(this).attr("plu"),"") 10387 var topping_limit=$("#deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).find(".deal-hh-remaining-topping").text()??0; 10388 var topping_price = 0; 10389 10390 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)!=undefined){ 10391 topping_price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half))??0; 10392 } 10393 10394 if($(this).is(":checked")){ 10395 if (topping_limit > 0){ 10396 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price") != undefined ){ 10397 price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")) + extra_price 10398 } else{ 10399 price = price + extra_price; 10400 } 10401 topping_price = topping_price + extra_price; 10402 10403 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half, parseFloat(topping_price)); 10404 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("price", price); 10405 } 10406 } else{ 10407 if($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price") != undefined ){ 10408 price = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")) - extra_price 10409 } else{ 10410 price = price - extra_price; 10411 } 10412 topping_price = topping_price - extra_price; 10413 10414 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half, topping_price); 10415 $("#deal-selected-item-"+deal_plu+"-"+ref).attr("price", price).val("HH"); 10416 } 10417 10418 var maxToppingValid = checkMaxToppingsLimit(true, deal_plu, ref); 10419 var _lo_max_toppings = hh_max_toppings; 10420 10421 if(!_lo_max_toppings){ 10422 _lo_max_toppings = 12; 10423 } 10424 10425 if(maxToppingValid == false){ 10426 showModalAlert("warning", "Limit Reached", "You have reached the extras limit of "+_lo_max_toppings, "OK"); 10427 return false;
10428 } 10429 10430 var currency = $("#deal-price-"+deal_plu).text(); 10431 var halfhalftotal = Number(currency.replace(/[^0-9\.]+/g,"")); 10432 10433 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")); 10434 if(!price){ 10435 price = $(this).attr("value"); //this is the original value of price 10436 } 10437 10438 var item_total = halfhalftotal; 10439 10440 if($(this).prop("checked")){ 10441 item_total = halfhalftotal + parseFloat(price); 10442 } else{ 10443 item_total = halfhalftotal - parseFloat(price); 10444 } 10445 10446 $("#deal-price-"+deal_plu).html("$"+formatNumber(item_total)); 10447 10448 checkMaxToppingsLimit(true, deal_plu, ref); 10449 }); 10450 10451 $(".back-to-pizza-deal-hh").die().live("click", function(){ 10452 var ref = $(this).attr('ref'); 10453 var which_half = $(this).attr('hh-ref'); 10454 var deal_plu = $(this).attr('plu'); 10455 10456 var hh_toppings =0; 10457 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val(); 10458 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(); 10459 10460 if(deal_hh_toppings_ajax.status !== 200){ 10461 deal_hh_toppings_ajax.abort(); 10462 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selection-"+deal_plu+"-"+ref+" .lds-ring").hide(); 10463 } 10464 10465 $(".modal-deals .modal-body #deal-hh-"+which_half+"-item-list-"+deal_plu+"-"+ref).removeClass("hide"); 10466 $(".modal-deals .modal-body #deal-hh-"+which_half+"-selected-"+deal_plu+"-"+ref).addClass("hide").empty(); 10467 $(".modal-deals .modal-body #"+which_half+"-half-plu-"+deal_plu+"-"+ref).val(""); 10468 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10469 $(this).parent().addClass("hide"); 10470 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").prop("disabled", true); 10471 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-item-label").html("Select your "+which_half+" half"); 10472 $(".modal-deals .modal-body #deal-hh-"+which_half+"-"+deal_plu+"-"+ref+" span.deal-hh-"+which_half+"-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 10473 10474 var extra_price=0; 10475 var hh_extra = 0; 10476 var hh_surcharge =0; 10477 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price")!=undefined){ 10478 hh_toppings = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("price"))??0; 10479 } 10480 if (first_plu && second_plu){ 10481 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge")!=undefined){ 10482 hh_surcharge = parseFloat($("#deal-selected-item-"+deal_plu+"-"+ref).attr("hh-surcharge"))??0; 10483 } 10484 } 10485 if ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)!=undefined){ 10486 hh_extra = parseFloat ($("#deal-selected-item-"+deal_plu+"-"+ref).attr("topping-"+which_half)) 10487 } 10488 10489 if (which_half=="first"){ 10490 deal_hh_left_array[parseInt(ref) - 1] = []; 10491 } 10492 else if(which_half =="second"){ 10493 deal_hh_right_array[parseInt(ref) - 1] = []; 10494 } 10495 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("hh-surcharge") 10496 $(".modal-deals .modal-body #deal-selected-item-"+deal_plu+"-"+ref).attr("price", formatNumber(parseFloat(hh_toppings - (hh_surcharge + hh_extra)))); 10497 $("#deal-selected-item-"+deal_plu+"-"+ref).removeAttr("topping-"+which_half) 10498 dealGetTotal(deal_plu); 10499 deal_hh_extra_toppings(deal_plu, which_half, ref); 10500 }); 10501 10502 $("button.deal-hh-modal-footer-next").die().live("click", function(){ 10503 var ref = $(this).attr('ref'); 10504 var which_half = $(this).attr('hh-ref'); 10505 var deal_plu = $(this).attr('plu'); 10506 10507 if(!$(this).hasClass("add-deal-hh")){ 10508 $(this).addClass("add-deal-hh"); 10509 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).parent().addClass("hide"); 10510 $(".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"); 10511 $(".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"); 10512 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).parent().removeClass("hide"); 10513 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).attr({"ref": ref, "return-to": "deal-main-selection"}); 10514 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).removeClass("hide").scrollTop($(".modal-body").offset().top); 10515 10516 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10517 $(".modal-deals .modal-footer #deal-hh-modal-footer-next-"+deal_plu+" button").text("Add to Order"); 10518 } 10519 } else{ 10520 var first_plu = $(".modal-deals .modal-body #first-half-plu-"+deal_plu+"-"+ref).val(); 10521 var second_plu = $(".modal-deals .modal-body #second-half-plu-"+deal_plu+"-"+ref).val(); 10522 var half = ["first", "second"]; 10523 10524 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']").length > 0){ 10525 if($(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:checked").length > 0){ 10526 deal_hh_item_option[parseInt(ref) - 1] = $(".modal-deals .modal-body [name='deal-hh-item-option-"+deal_plu+"-"+ref+"']:checked").val(); 10527 } else{ 10528 showModalAlert("warning", "Option Required", "You must select an 'Option'", "OK"); 10529 return false;
10530 } 10531 } else{ 10532 deal_hh_item_option[parseInt(ref) - 1] = ""; 10533 } 10534 10535 deal_hh_left_plu[parseInt(ref) - 1] = first_plu; 10536 deal_hh_right_plu[parseInt(ref) - 1] = second_plu; 10537 10538 jQuery.each(half, function(index, item){ 10539 if($("#deal-hh-"+item+"-selected-"+deal_plu+"-"+ref+" li input[type='checkbox']").length > 0){ 10540 var i = 0; 10541 10542 $("#deal-hh-"+item+"-selected-"+deal_plu+"-"+ref+" li input[type='checkbox']").each(function(){ 10543 if((!$(this).hasClass("current_item") && $(this).prop("checked")) || ($(this).hasClass("current_item") && !$(this).prop("checked"))){ 10544 var plu = $(this).attr("plu"); 10545 var extra_price = $(this).val(); 10546 var qty = 1; 10547 10548 if($(this).hasClass("current_item") && !$(this).prop("checked")){ 10549 qty = -1; 10550 } 10551 10552 var is_current = $(this).hasClass("current_item"); 10553 var extras = new Array(plu, extra_price, qty, is_current); 10554 10555 if(item == "first"){ 10556 deal_hh_left_array[parseInt(ref) - 1][i] = extras; 10557 } else{ 10558 deal_hh_right_array[parseInt(ref) - 1][i] = extras; 10559 } 10560 10561 i++; 10562 } 10563 }); 10564 } 10565 }); 10566 10567 if(!first_plu || !second_plu){ 10568 showModalAlert("warning", "Selection Required", "You must select both halves", "OK"); 10569 return false; 10570 } else{ 10571 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-selection-icon").removeClass("glyphicon-chevron-right glyphicon-ok").addClass("glyphicon-ok"); 10572 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref+" .deal-item-name-selected").html(" - Half/Half"); 10573 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu).addClass("hide"); 10574 $(".modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-hh-"+deal_plu+"-"+ref).addClass("hide"); 10575 $(this).parent().addClass("hide"); 10576 $(".modal-deals .modal-header #deal-modal-header-main-"+deal_plu+", .modal-deals .modal-body #deal-modal-body-main-"+deal_plu).removeClass("hide"); 10577 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu).removeClass("hide"); 10578 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").prop("disabled", false); 10579 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("ref"); 10580 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("return-to"); 10581 $(".modal-deals .modal-header #back-to-main-deal-hh-"+deal_plu).removeAttr("hh-ref"); 10582 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("ref"); 10583 $(".modal-deals .modal-header #back-to-pizza-deal-hh-"+deal_plu).removeAttr("hh-ref"); 10584 $(".modal-deals .modal-header #deal-hh-modal-header-"+deal_plu+" h4.modal-title").html("Half/Half"); 10585 $(".modal-deals .modal-body #deal-selection-"+deal_plu+"-"+ref).css("background-color", ""); 10586 10587 if($("#add-popup-deals-"+deal_plu).attr("deal-selection") == 1){ 10588 $(".modal-deals .modal-footer #deal-modal-footer-add-"+deal_plu+" button").click(); 10589 } 10590 } 10591 } 10592 10593 modal_height("#add-popup-deals-"+deal_plu); 10594 }); 10595 /* Deals - END */ 10596 }); 10597</script>
10597<script> 10598 if (sessionStorage.customisedItem) 10599 sessionStorage.removeItem("customisedItem"); // remove data of customisedItem so when you return to customise_item page it will only display all the default toppings 10600 10601 //var monitorDebugMode = false; 10602 /** 10603 * This was based on id set in menu caching - In charge of display notif for menu active time 10604 * This is tightly coupled to the structure of menu blocks `{menu name}-block` 10605 */ 10606 function setMenuActiveTime(menuName, hide, data){ 10607 // Followed how menu-items.php sanitize title 10608 menuName = menuName.replace(/\'/,""); 10609 // For some reason the php only puts quot instead of " in the className 10610 // This will handle and htmlencoded chars ⢠which becaome • 10611 menuName = menuName.replace(/(?=[&;]).?/g,""); 10612 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 10613 menuName = menuName.replace(/[()]/g,'') // CRM #5090 menu active times not working when it have parenthesis, same regex in menu-items.php 10614 menuName = menuName.replace(/^[0-9-]+/g,""); // WD-524 Unavailable item still adding on the cart (Platina), removed number at the start of menu-title 10615 10616 var menuId = (data && data.menuId !== undefined) ? data.menuId : ""; 10617 10618 if(data && data.newMenuNotif !== undefined){ 10619 $("#"+menuName+"-block.mi-"+menuId+" #menu-desc-header ."+menuName+"-block-active-time").html(data.newMenuNotif); 10620 } 10621 10622 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons span").hide(); 10623 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .activetime_span:not(.deal_end_time)").remove(); 10624 10625 // Menu is disabled - Hide the menu and show notif 10626 if(hide){ 10627 10628 if (data.hide_when_unavailable == 1) { 10629 $("#"+menuName+"-block.mi-"+menuId).hide(); 10630 $("#menu #menu-ul li.menu-" + menuId).hide(); 10631 } 10632 10633 $("#"+menuName+"-block.mi-"+menuId+" #menu-desc-header ."+menuName+"-block-active-time").show(); 10634 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons input").hide(); 10635 10636 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .add-half-half-bt").hide(); // for half half button still showing CRM # 5095 10637 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .qty-select").hide(); 10638 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .menu-item-option select").hide(); 10639 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10640 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10641 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").hide(); 10642 $("#"+menuName+"-block.mi-"+menuId+" .menu-item-outofstock").hide(); 10643 $("#"+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>"); 10644 if($("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li")){ 10645 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li").each(function(){ 10646 if($(this).find(".visual-tag-container").length){ 10647 $(this).find(".item-title").after($(this).find(".visual-tag-container .item-price")); 10648 } 10649 }); 10650 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" .visual-tag-container").css('display', 'none'); 10651 } 10652 }else{ 10653 10654 if (data.hide_when_unavailable == 1) { 10655 $("#"+menuName+"-block.mi-"+menuId).show(); 10656 $("#menu #menu-ul li.menu-" + menuId).show(); 10657 } 10658 10659 $("#" + menuName + "-block.mi-" + menuId + " #menu-desc-header ." + menuName + "-block-active-time").hide(); 10660 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons input").show(); 10661 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .qty-select").show(); 10662 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .menu-item-option select").show(); 10663 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons .item-options").each(function(){ 10664 // Certain item option is hidden because they the item doesn't have a value 10665 // So we first check if we this option has a value before we display 10666 // As we don't wanna display blank item options 10667 if($(this).val()){ 10668 $(this).show(); 10669 } 10670 10671 }); 10672 $("#"+menuName+"-block.mi-"+menuId+" #item-buttons span").show(); 10673 if($("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li")){ 10674 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" li").each(function(){ 10675 if($(this).find(".visual-tag-container").length){ 10676 $(this).find(".visual-tag-container > .badge").after($(this).find(".item-price")); 10677 } 10678 }); 10679 $("#"+menuName+"-block.mi-"+menuId+" ul#"+menuName+" .visual-tag-container").css('display', 'flex'); 10680 } 10681 10682 // Additional check to hide menu items with empty ul 10683 const menuItem = $("#" + menuName + "-block.mi-" + menuId); 10684 const item_ul = menuItem.find('ul'); 10685 if (item_ul.length && item_ul.children().length === 0) { 10686 menuItem.hide(); 10687 $("#menu #menu-ul li.menu-" + menuId).hide(); 10688 } 10689 } 10690 } 10691 10692 // Checks the menu on initial load 10693 var monitorIntervalArray = []; //used for clearing interval. When changing delivery or pickup 10694 function pullMenuActiveTime(first_load){ 10695 $.ajax({ 10696 url:"core/ajax/menu-active-times.php", 10697 async: true, 10698 type:"post", 10699 data:{initial:first_load}, 10700 success: function(data){ 10701 var res = JSON.parse(data); 10702 monitorIntervalArray.forEach(function(x){ clearTimeout(x); }); //remove previous binding events. 10703 monitorIntervalArray = []; // clean the array placeholder
10704 res.forEach(function(x){ 10705 monitorIntervalArray.push(monitorActiveTime(x)); //push the return id of setInterval used for clearing previous interval 10706 var dayOnly = {}, 10707 hide = false; 10708 if(x.today == "inactive" && x.days_available.length > 0){ 10709 var newMessage = "Available day"+((x.days_available.length) == 1 ? "":"s")+" : "+x.days_available.join(","); 10710 dayOnly['newMenuNotif'] = newMessage; 10711 } 10712 10713 if(x && x.menu_id !== undefined){ 10714 dayOnly['menuId'] = x.menu_id; 10715 } 10716 10717 if(x.menu_status === "inactive" || x.today === "inactive"){ 10718 hide = true; 10719 } 10720 10721 dayOnly['hide_when_unavailable'] = x.hide_when_unavailable; 10722 dayOnly['end_remaining_time'] = x.end_remaining_time; 10723 dayOnly['start_remaining_time'] = x.start_remaining_time; 10724 10725 setMenuActiveTime(x.menu_title.replace(/\./, "\\."), hide, dayOnly); /* Activate the menu warnings*/ 10726 }); 10727 } 10728 }); 10729 } 10730 10731 /** 10732 * In charge of tracking the time base on the difference of this client and server. 10733 * 10734 * diff here is the seconds difference server time and client time 10735 * Its value represent the seconds since this function started 10736 * If diff value is higher than start_time means the menu is open. 10737 * If diff value is higher than the end_time means the menu is closed. 10738 * These checkings will only be done if the active_time detected that its active for today 10739 * 10740 */ 10741 function monitorActiveTime(data){ 10742 return setInterval(function(){ 10743 var currentDate = new Date(); 10744 var now = Math.floor(currentDate.getTime() / 1000); 10745 var diff = now - data.s_time; 10746 10747 //detect if menu only has days and no time is set 10748 var dayOnly = {}; 10749 if(data.today == "inactive" && data.days_available.length > 0){ 10750 var newMessage = "Available day"+((data.days_available.length) == 1 ? "":"s")+" : "+data.days_available.join(","); 10751 dayOnly['newMenuNotif'] = newMessage; 10752 } 10753 10754 if(data && data.menu_id !== undefined){ 10755 dayOnly['menuId'] = data.menu_id; 10756 } 10757 10758 /*if (data.today === "inactive" && data.hide_when_unavailable == 0 && data.end_remaining_time > 0 && data.start_remaining_time < 0) { 10759 data.today = "active"; 10760 }*/ 10761 10762 dayOnly['hide_when_unavailable'] = data.hide_when_unavailable; 10763 dayOnly['end_remaining_time'] = data.end_remaining_time; 10764 dayOnly['start_remaining_time'] = data.start_remaining_time; 10765 10766 if(data.today == "active"){ 10767 10768 /** 10769 * We need to compute the two factor separately 10770 * - this will enable us to switch on two states 10771 */ 10772 if(diff > data.start_remaining_time && (data.start_remaining_time != 0 && data.end_remaining_time != 0) ){ 10773 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), false, dayOnly); 10774 } 10775 if(diff > data.end_remaining_time && (data.start_remaining_time != 0 && data.end_remaining_time != 0)){ 10776 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), true, dayOnly); 10777 } 10778 // This will show the menu, if it store is active today but no time is set 10779 if(data.end_remaining_time == 0 && data.start_remaining_time == 0){ 10780 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), false, dayOnly); 10781 } 10782 10783 }else{ 10784 setMenuActiveTime(data.menu_title.replace(/\./, "\\."), true, dayOnly); 10785 } 10786 10787 /* if(monitorDebugMode){ 10788 console.log("%c Diff %c =>%c "+diff + " " + 10789 "%c Menu %c =>%c "+data.menu_title + " " + 10790 "%c Start Remaining %c =>%c "+data.start_remaining_time + " " + 10791 "%c End Remaining %c =>%c "+data.end_remaining_time, 10792 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10793 "color:white;background: #2d6d48;","color:#d3d0d0","color:#f3780c", 10794 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10795 "color:white;background: #2d6d48;","color:#d3d0d0","color:blue", 10796 ); //For debugging 10797 } */ 10798 }, 1500); 10799 } 10800 10801 /** 10802 * Adds a specified number of seconds to a given time in HMMSS format. 10803 */ 10804 function addSeconds(time, secondsToAdd) { 10805 let hours = Math.floor(time / 10000); 10806 let minutes = Math.floor((time % 10000) / 100); 10807 let seconds = time % 100; 10808 10809 seconds += secondsToAdd; // Add seconds 10810 10811 // Handle overflow 10812 if(seconds >= 60){ 10813 seconds -= 60; 10814 minutes++; 10815 } 10816 10817 if(minutes >= 60){ 10818 minutes -= 60; 10819 hours++; 10820 } 10821 10822 if(hours >= 24){ 10823 hours -= 24; 10824 client_current_day++; 10825 } 10826 10827 if(client_current_day > 7){ 10828 client_current_day -= 7; 10829 } 10830 10831 // Format back to integer 10832 return hours * 10000 + minutes * 100 + seconds; 10833 } 10834 10835 function newItem(){ 10836 $(".visual-tag-container .visual-tag-label.new-item").each(function(){ 10837 let itemAddedTimestamp = $(this).attr("date-added"); 10838 let itemAddedDate = new Date(itemAddedTimestamp * 1000); // convert to javascript date 10839 let localDate = new Date(itemAddedDate.getFullYear(), itemAddedDate.getMonth(), itemAddedDate.getDate()); 10840 let currentDate = new Date(); 10841 currentDate.setHours(0, 0, 0, 0); // remove time part 10842 10843 let diffTime = currentDate - localDate; 10844 let diffDays = diffTime / (1000 * 60 * 60 * 24); // calculate the difference in days 10845 10846 if(diffDays > 30){ 10847 if($(this).siblings().attr('class')){ 10848 $(this).remove(); 10849 } else{ 10850 const visual_tag_container = $(this).closest('.visual-tag-container'); 10851 visual_tag_container.find('.item-price').clone().appendTo(visual_tag_container.siblings('.item-title-container')); 10852 visual_tag_container.remove(); 10853 } 10854 } 10855 }); 10856 } 10857 10858 function hideMenuCategoryIfNoVisibleItems(item){ 10859 const parent = item.parent().closest('.menu-item'); 10860 const ul_parent = parent.find('ul'); 10861 10862 if(parent.css('display') === 'none'){ 10863 return; // If the parent menu is already hidden, no need to check further 10864 } 10865 10866 var itemVisibleCount = 0; 10867 ul_parent.children().each(function(){ 10868 if($(this).hasClass('hide') === false){ 10869 itemVisibleCount++; 10870 } 10871 }); 10872 10873 if(ul_parent.length && itemVisibleCount === 0){ 10874 const className = parent.attr('class'); 10875 const menuId = getIdFromClass(className); 10876 10877 if(menuId){ 10878 $("#menu #menu-ul li.menu-" + menuId).hide(); 10879 } 10880 parent.hide(); 10881 } 10882 } 10883 10884 let deal_before_time, client_current_day, client_start_time, hasProcessedAlwaysDisplayedSpecials; 10885 function dealEndBeforeTime(){ 10886 if($("#menu-items li[special-before-time]").length){ 10887 $("#menu-items li[special-before-time]").each(function(){ 10888 let days_available_array, 10889 hide_special = false, 10890 remove_special = true, 10891 is_available_today = true, 10892 days_available = ($(this).attr('special-days-available') !== undefined ? $(this).attr('special-days-available') : undefined), 10893 start_time = ($(this).attr('special-after-time') !== undefined ? parseInt($(this).attr('special-after-time')) : undefined), 10894 end_time = parseInt($(this).attr('special-before-time')); 10895 10896 if(days_available !== undefined){ 10897 days_available_array = days_available.split(',').map(Number); 10898 10899 if(!days_available_array.includes(client_current_day)){ 10900 hide_special = true; 10901 remove_special = false;
10902 is_available_today = false; 10903 } 10904 } 10905 10906 if(!hide_special){ 10907 if(start_time !== undefined){ 10908 if(start_time <= end_time){ // Deal does NOT cross midnight 10909 if(client_start_time < start_time || client_start_time > end_time){ 10910 hide_special = true; 10911 remove_special = false; 10912 } 10913 } else{ // Deal crosses midnight 10914 if(client_start_time < start_time && client_start_time > end_time){ 10915 hide_special = true; 10916 remove_special = false; 10917 } 10918 } 10919 } else{ 10920 if(client_start_time > end_time){ 10921 hide_special = true; 10922 remove_special = true; 10923 } 10924 } 10925 } 10926 10927 if(hide_special){ 10928 if($(this).attr('display-special-always') == "0"){ 10929 if(remove_special){ 10930 $(this).remove(); 10931 } else{ 10932 $(this).addClass('hide'); 10933 } 10934 10935 hideMenuCategoryIfNoVisibleItems($(this)); 10936 } else{ 10937 start_time = $(this).attr('special-start-time'); 10938 end_time = $(this).attr('special-end-time'); 10939 10940 let unavailable_message = (start_time !== undefined) ? 'between '+start_time+' and ' : 'before '; 10941 unavailable_message += end_time; 10942 10943 if(remove_special){ 10944 $(this).find('#item-buttons').empty(); 10945 } else{ 10946 $(this).find('#item-buttons .activetime_span.deal_end_time').remove(); 10947 } 10948 10949 if(is_available_today){ 10950 $(this) 10951 .find('#item-buttons') 10952 .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>'); 10953 } 10954 10955 if(remove_special){ 10956 $(this).removeAttr('display-special-always').removeAttr('special-after-time').removeAttr('special-before-time'); 10957 } 10958 } 10959 } else{ 10960 if($(this).hasClass('hide')){ 10961 $(this).removeClass('hide'); 10962 $(this).parent().closest('.menu-item').show(); 10963 10964 const className = $(this).parent().closest('.menu-item').attr('class'); 10965 const menuId = getIdFromClass(className); 10966 $("#menu #menu-ul li.menu-" + menuId).show(); 10967 } 10968 10969 if($(this).find('#item-buttons .activetime_span.deal_end_time').length){ 10970 $(this).find('#item-buttons .activetime_span.deal_end_time').remove(); 10971 } 10972 } 10973 }); 10974 10975 if($("#menu-items li[display-special-always='0']").not('[special-before-time]').length){ 10976 $("#menu-items li[display-special-always='0']").not('[special-before-time]').each(function(){ 10977 hideMenuCategoryIfNoVisibleItems($(this)); 10978 }); 10979 } 10980 } else{ 10981 if($("#menu-items li[display-special-always='0']").length && !hasProcessedAlwaysDisplayedSpecials){ 10982 hasProcessedAlwaysDisplayedSpecials = true; 10983 10984 $("#menu-items li[display-special-always='0']").each(function(){ 10985 hideMenuCategoryIfNoVisibleItems($(this)); 10986 }); 10987 } 10988 10989 clearInterval(deal_before_time); 10990 } 10991 10992 client_start_time = addSeconds(client_start_time, 2); 10993 } 10994 10995 function extra_toppings(whichHalf){ 10996 var extra_price = 0; 10997 10998 if(whichHalf == "first"){ 10999 whichHalf = "second"; 11000 } else if(whichHalf == "second"){ 11001 whichHalf = "first"; 11002 } else{ 11003 return false; 11004 } 11005 11006 if($("."+whichHalf+"-accordion li input:checked").length > 0){ 11007 $("."+whichHalf+"-accordion li input:checked").each(function(){ 11008 if($(this).val()){ 11009 extra_price += (parseFloat($(this).val())); 11010 } 11011 }); 11012 } 11013 11014 $(".hh-remaining-topping").html(hh_max_toppings - ($(".first-accordion li input:checked").length + $(".second-accordion li input:checked").length)); 11015 $(".half-half-total").html('$'+formatNumber(extra_price)); 11016 } 11017 11018 function getHHTotal(hh_price){ 11019 var price = hh_price; 11020 var hh_surcharge = 0; 11021 var extra_price = 0; 11022 var first_plu = $("#first-half-plu").val(); 11023 var second_plu = $("#second-half-plu").val(); 11024 if($(".first-accordion li input:checked").length > 0){ 11025 $(".first-accordion li input:checked").each(function(){ 11026 if($(this).val()){ 11027 extra_price += (parseFloat($(this).val())); 11028 } 11029 }); 11030 } 11031 price = price + extra_price; 11032 11033 var extra_price = 0; 11034 if($(".second-accordion li input:checked").length > 0){ 11035 $(".second-accordion li input:checked").each(function(){ 11036 if($(this).val()){ 11037 extra_price += (parseFloat($(this).val())); 11038 } 11039 }); 11040 } 11041 price = price + extra_price; 11042 11043 if($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 11044 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 11045 if($(this).attr("checked")!=undefined){ 11046 var item_option_price = parseFloat($(this).attr("price")); 11047 price = price + item_option_price; 11048 } 11049 }); 11050 } else{ 11051 if($(".modal-hh .item-option-per-hh").length>0){ 11052 $(".modal-hh .item-option-per-hh").each(function(){ 11053 if($(this).attr("checked")!=undefined){ 11054 var item_option_price = parseFloat($(this).attr("price")); 11055 price = price + item_option_price; 11056 } 11057 }); 11058 } 11059 } 11060 11061 if(!(first_plu && second_plu)){ 11062 if($(".hh-size .hh-surcharge").attr("surcharge") !=undefined){ 11063 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11064 price = price + hh_surcharge; 11065 } 11066 } 11067 11068 $(".half-half-total").html('$'+formatNumber(price)); 11069 } 11070 11071 function lastreorderbutton(){ 11072 $('#lastreorderbutton').click(function(){ 11073 var reOrderBtn = $(this); 11074 if($("input[name='storestatus']").val()==='offline'){ 11075 showModalAlert('warning', '', $('#offline-alert-txt').html(), 'OK'); 11076 }else{ 11077 $('button[name="reorder"]').attr('disabled','disabled'); 11078 reOrderBtn.after('<span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span>'); 11079 reOrderBtn.remove(); 11080 11081 $.ajax({ 11082 type: 'POST', 11083 url: 'core/ajax/reorder.php', 11084 data: {order_id: this.value} 11085 }).done(function(obj){ 11086 $('#view-basket').load('core/mybasket.php'); 11087 if(reOrderBtn.next().hasClass('glyphicon-refresh')){ 11088 reOrderBtn.next().remove(); 11089 } 11090 document.cookie="reorder=1;max-age=3600" 11091 window.location.href = '?page=browse'; 11092 }); 11093 } 11094 }); 11095 } 11096
11097 $(document).ready(function(){ 11098 client_current_day = 5; 11099 client_start_time = 104698; 11100 11101 newItem(); 11102 dealEndBeforeTime(); 11103 deal_before_time = setInterval(dealEndBeforeTime, 2000); 11104 11105 $('#view-customer-details').load('core/view_customer_details.php'); 11106 11107 // Move platform fee message to the top of the menu items if it exists 11108 if($('#platform-fee-msg-container.platform-fee-msg').length > 0){ 11109 const platform_fee_container = $('#platform-fee-msg-container.platform-fee-msg'); 11110 platform_fee_container.clone().prependTo($('#menu-cont #menu-items')); 11111 $('#menu-cont #menu-items #platform-fee-msg-container.platform-fee-msg').css('display', ''); 11112 platform_fee_container.remove(); 11113 } 11114 11115 11116 $(".customise-page").live("click", function(){ 11117 var parent_div = $(this).closest('li').attr('id'); 11118 var group_id = $(this).attr('ref'); 11119 var menu_id = $(this).parents("#menu_items").data('menuid'); 11120 var plu = $("#menu-"+group_id+" :selected").val(); 11121 11122 if($("#"+parent_div+" .input-group-radio").length > 0){ // check if radio button is available 11123 var plu = $("#"+parent_div+" input[name='menu-item-option-radio-"+group_id+"']:checked").val() 11124 } 11125 11126 if(!plu){ 11127 var plu = $(this).attr('plu'); 11128 } 11129 11130 option_id = $("#"+parent_div+" #"+plu+"-option-id").val(); 11131 11132 if($("#"+parent_div+' input[name="item-option-radio-'+group_id+'"]:checked').val() && option_id == undefined){ // if item has menu-item-option 11133 var option_id = $("#"+parent_div+' input[name="item-option-radio-'+group_id+'"]:checked').val(); 11134 } else if(option_id == undefined){ // if item has no menu-item-option 11135 var option_id = $("#"+parent_div+' input[name="item-option-radio-'+plu+'"]:checked').val(); 11136 } 11137 11138 window.location = '?page=customise_item&PLU='+plu+"&group_id="+group_id+'&option_id='+option_id+'&menu_id='+menu_id; 11139 }); 11140 11141 $('#promotional_close').live("click", function(){ 11142 $("#promotional_container").removeClass('active'); 11143 }); 11144 11145 $('#promotional_banner #promotional_cover').css("background-image", "url('https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/uploads/Cheese_Bread.jpg')"); 11146 $('#promotional_content #promo_text').html('Don\'t forget the Cheese Bread!'); 11147 $('#promotional_content #promo_text').after(''); 11148 $('#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\'>'); 11149 $('#promotional_container').addClass('active'); 11150 11151 11152 $('#new_customer_details').load('core/view_customer_details.php'); 11153 11154 $("#empty-button").click(function(){ 11155 $('#loading_bar').html("<img src='images/ajax-loader.gif'>"); 11156 $('#loading_bar').center(); 11157 11158 $.ajax({ 11159 type: "POST", 11160 url: "core/ajax/empty_mybasket.php", 11161 success: function(data) { 11162 $('#view-basket').load('core/mybasket.php', function(){ 11163 $('#loading_bar').html(''); 11164 get_cart_total(); 11165 }); 11166 } 11167 }); 11168 }); 11169 11170 $(".add-button-popup").live("click", function(){ 11171 var parent_div = $(this).closest('li').attr('id'); 11172 var menu_id = $(this).attr('menu-id'); 11173 var group_id = $(this).attr('id'); 11174 var PLU = $(this).attr('ref'); 11175 11176 /** 11177 *This triggers when Allow Addition is Disabled but have item-options 11178 *if no item option is checked, we make the first item the default 11179 *else if have value and the item is duplicate 11180 */ 11181 if(typeof $("#"+parent_div+" .item-option-radio-list:first").attr('multiple-io') !== "undefined" && $("#"+parent_div+" .item-option-radio-list:first").attr('multiple-io') !== false){ 11182 $("#"+parent_div+" .item-option-radio-list").attr('checked', false); 11183 $("#"+parent_div+" .item-option-radio-list").parent().parent().css({"padding":"", "border":""}); 11184 last_io_selected = []; 11185 get_item_option(parent_div); 11186 } else{ 11187 if(!$("#"+parent_div+" input[name=item-option-radio-"+PLU+"]:checked").val()){ 11188 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"]:not(:disabled):first").attr('checked', true); 11189 }else{ 11190 //fix for item option have default item but does not select it due to duplicate item in the menu 11191 var default_io = $("#"+ parent_div +" input[name=item-option-radio-"+PLU+"]:checked").attr('default-io'); 11192 if(typeof default_io !== "undefined" && default_io !== false){
11193 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"][ref='"+default_io+"']").attr('checked', true); 11194 } else{ 11195 $("#"+parent_div+" input:radio[name=item-option-radio-"+PLU+"]:not(:disabled):first").attr('checked', true); 11196 } 11197 } 11198 $("#"+parent_div+" input[name=item-option-radio-"+PLU+"]:not(:checked)").attr('checked', false); 11199 } 11200 11201 // if no menu item option is checked, we make the first item the default 11202 if(!$("#"+parent_div+" input[name=menu-item-option-radio-"+group_id+"]:checked").val()){ 11203 $("#"+parent_div+" input:radio[name=menu-item-option-radio-"+group_id+"]:not(:disabled):first").attr('checked', true); 11204 } 11205 11206 11207 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 11208 var group_id = PLU; 11209 } 11210 11211 // if no default item-option selected then we add src on the checked item's img 11212 $("#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"); 11213 $("#add-popup-"+group_id+"-"+menu_id).find("input:not(:checked)").siblings(".input-group-label").find(".check-img-popup").css('visibility', "hidden"); 11214 11215 if(window.innerWidth > 768 && window.innerHeight < 650){ 11216 setTimeout(function(){ 11217 modal_height("#add-popup-"+group_id+"-"+menu_id); 11218 }, 200); 11219 } 11220 }); 11221 11222 // move the menuitems-reorder div inside menu-items div 11223 $("#menu-items").prepend($("#menuitems-reorder-container").html() ); 11224 $("#menuitems-reorder-container").html(''); 11225 11226 // Half-half 11227 $(".hh-button-popup").live("click", function(){ 11228 $(".half-half-total").removeAttr("price"); 11229 var hh_surcharge = 0 11230 if ($(".hh-size .hh-surcharge").attr("surcharge")!=undefined){ 11231 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11232 } 11233 if($(".modal-hh").hasClass("reload")){ 11234 $(".modal-hh .menu-item-option-radio-HHS:checked").click(); 11235 } else{ 11236 if(!$(".modal-hh .menu-item-option-radio-HHS:checked").val()){ 11237 $(".modal-hh .menu-item-option-radio-HHS:first").attr("checked", true).click(); 11238 } 11239 11240 if($(".modal-hh .menu-item-option-radio-HHIO").length > 0){ 11241 if(!$(".modal-hh .menu-item-option-radio-HHIO:checked").val()){ // if no item option is checked, we make the first item the default 11242 $(".modal-hh .menu-item-option-radio-HHIO:first").attr("checked", true); 11243 } 11244 } 11245 } 11246 if ($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 11247 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 11248 if ($(this).attr("checked")!=undefined){ 11249 var item_option_price = $(this).attr("price"); 11250 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price)+ hh_surcharge))) 11251 } 11252 }) 11253 } 11254 else{ 11255 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(hh_surcharge))) 11256 } 11257 setTimeout(function(){ 11258 modal_height(".modal-hh"); 11259 }, 500); 11260 }); 11261 11262 $(".menu-item-option-radio-HHIO").live("click",function(){ 11263 var item_option_price = $(this).attr("price"); 11264 var first_plu = $("#first-half-plu").val(); 11265 var second_plu = $("#second-half-plu").val(); 11266 var hh_surcharge = 0; 11267 if ($(".hh-size .hh-surcharge").attr("surcharge")!=undefined){ 11268 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11269 } 11270 11271 if (first_plu && second_plu){ 11272 getHHTotal(parseFloat($(".half-half-total").attr("price"))) 11273 } 11274 else if(first_plu || second_plu){ 11275 var price = 0; 11276 var extra_price = 0; 11277 if($(".first-accordion li input:checked").length > 0){ 11278 $(".first-accordion li input:checked").each(function(){ 11279 if($(this).val()){ 11280 extra_price += (parseFloat($(this).val())); 11281 } 11282 }); 11283 } 11284 price = price + extra_price; 11285 var extra_price = 0; 11286 if($(".second-accordion li input:checked").length > 0){ 11287 $(".second-accordion li input:checked").each(function(){ 11288 if($(this).val()){ 11289 extra_price += (parseFloat($(this).val())); 11290 } 11291 }); 11292 } 11293 price = price + extra_price; 11294 price = price + parseFloat(item_option_price) + hh_surcharge; 11295 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(price))) 11296 } 11297 else{ 11298 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price) + hh_surcharge))) 11299 } 11300 11301 }) 11302 11303 //Close the half-half modal when clicked outside the half-half modal 11304 $(document).mouseup(function (e) { 11305 var modalId = $('.modal-hh.fade.in').attr('id'); 11306 if(!$("#" + modalId + " .modal-dialog-popup").is(e.target) && !$("#" + modalId + " .modal-dialog-popup").has(e.target).length && !$(".jqifade:visible").length) { 11307 $("#" + modalId + " .hh-close-popup").click(); 11308 } 11309 }); 11310 11311 $(".hh-close-popup").live("click", function(){ 11312 $(".modal-hh").addClass("reload"); 11313 }); 11314 11315 $(".modal-hh .menu-item-option-radio-HHS").live("click", function(){ 11316 hh_cur_toppings = 0; 11317 hh_cur_toppings_tmp = 0; 11318 var hh_surcharge = 0; 11319 if ($(".hh-size .hh-surcharge").attr("surcharge")){ 11320 hh_surcharge = parseFloat($(".hh-size .hh-surcharge").attr("surcharge")); 11321 } 11322 11323 var size_group = $(this).val(); 11324 $(".modal-hh .half-half-total").html("$0.00"); 11325 $("#hh-pizza-container .lds-ring").show(); 11326 $("#hh-pizza-container .hh-pizza-container").empty();
11327 $("#modal-footer-add button, #modal-footer-next button").prop("disabled", true); 11328 $("#first-half-plu, #second-half-plu").val(""); 11329 $("#back-to-main").parent().removeClass("hide"); 11330 $("#back-to-pizza").parent().addClass("hide"); 11331 $("#modal-header-hh, #modal-body-hh, #hh-first-selected, #hh-second-selected, #modal-footer-next").addClass("hide"); 11332 $("#modal-header-main, #modal-body-main, #hh-first-item-list, #hh-second-item-list, #modal-footer-add").removeClass("hide"); 11333 $("#hh-first-selected, #hh-second-selected").empty(); 11334 $(".hh-remaining-topping").html($(".modal-hh .modal-footer .hh-remaining-topping-orig").html()); 11335 11336 hh_item_option_ajax = $.ajax({ 11337 type: "POST", 11338 url: "core/ajax/get_options_halfhalf_popup.php", 11339 data: "size_group="+size_group, 11340 beforeSend: function(){ 11341 if(hh_item_option_ajax != null){ 11342 hh_item_option_ajax.abort(); 11343 } 11344 }, 11345 success: function(data){ 11346 $("#hh-pizza-container .lds-ring").hide(); 11347 $("#hh-pizza-container .hh-pizza-container").html(data); 11348 $(".hh-pizza-container .hh-first, .hh-pizza-container .hh-second").addClass("disabled"); 11349 $("#modal-footer-add button, #modal-footer-next button").prop("disabled", false); 11350 11351 if($(".modal-hh .menu-item-option-radio-HHIO").length > 0){ 11352 if(!$(".modal-hh .menu-item-option-radio-HHIO:checked").val()){ // if no item option is checked, we make the first item the default 11353 $(".modal-hh .menu-item-option-radio-HHIO:first").attr("checked", true); 11354 } 11355 } 11356 if ($(".modal-hh .menu-item-option-radio-HHIO").length>0){ 11357 $(".modal-hh .menu-item-option-radio-HHIO").each(function(){ 11358 if ($(this).attr("checked")!=undefined){ 11359 var item_option_price = $(this).attr("price"); 11360 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(parseFloat(item_option_price) + hh_surcharge))) 11361 } 11362 }) 11363 } 11364 else{ 11365 $(".modal-hh .half-half-total").html("$"+ formatNumber(parseFloat(hh_surcharge))) 11366 } 11367 11368 $("#hh-first-item-list").load("core/ajax/get_halfhalf_selections_popup.php?size_group="+size_group+"&half=first", function(){ 11369 $(".hh-pizza-container .hh-first").removeClass("disabled"); 11370 }); 11371 11372 $("#hh-second-item-list").load("core/ajax/get_halfhalf_selections_popup.php?size_group="+size_group+"&half=second", function(){ 11373 $(".hh-pizza-container .hh-second").removeClass("disabled"); 11374 }); 11375 } 11376 }); 11377 }); 11378 11379 $(".modal-hh .hh-first").live("click", function(){ 11380 if(!$(this).hasClass("disabled")){ 11381 $("#modal-header-main, #modal-body-main, #hh-second, #modal-footer-add").addClass("hide"); 11382 $("#modal-header-hh .modal-title").html("Choose Your First Half"); 11383 $("#back-to-main").parent().removeClass("hide"); 11384 $("#back-to-pizza").parent().addClass("hide"); 11385 $("#modal-header-hh, #modal-body-hh, #hh-first, #modal-footer-next").removeClass("hide"); 11386 $(".modal-hh .modal-body").scrollTop(0); 11387 11388 if($(".hh-first span.hh-first-icon").hasClass("glyphicon-chevron-right")){ 11389 $("#modal-footer-next button").prop("disabled", true); 11390 } else if($(".hh-first span.hh-first-icon").hasClass("glyphicon-ok")){ 11391 $("#modal-footer-next button").prop("disabled", false); 11392 } 11393 11394 if($("#first-half-plu").val()){ 11395 $("#back-to-pizza").attr("ref", "first").parent().removeClass("hide"); 11396 } 11397 11398 if($("#first-topping-ctr").length){ 11399 $("#back-to-main").parent().removeClass("hide"); 11400 $("#back-to-pizza").parent().addClass("hide"); 11401 $(".change-half").click(); 11402 } else{ 11403 if($("#first-half-plu").val()){ 11404 $("#back-to-main").parent().addClass("hide"); 11405 } 11406 } 11407 11408 modal_height(".modal-hh"); 11409 } 11410 }); 11411 11412 $(".modal-hh .hh-second").live("click", function(){ 11413 if(!$(this).hasClass("disabled")){ 11414 $("#modal-header-main, #modal-body-main, #hh-first, #modal-footer-add").addClass("hide"); 11415 $("#modal-header-hh .modal-title").html("Choose Your Second Half"); 11416 $("#back-to-main").parent().removeClass("hide"); 11417 $("#back-to-pizza").parent().addClass("hide");
11418 $("#modal-header-hh, #modal-body-hh, #hh-second, #modal-footer-next").removeClass("hide"); 11419 $(".modal-hh .modal-body").scrollTop(0); 11420 11421 if($(".hh-second span.hh-second-icon").hasClass("glyphicon-chevron-right")){ 11422 $("#modal-footer-next button").prop("disabled", true); 11423 } else if($(".hh-second span.hh-second-icon").hasClass("glyphicon-ok")){ 11424 $("#modal-footer-next button").prop("disabled", false); 11425 } 11426 11427 if($("#second-half-plu").val()){ 11428 $("#back-to-pizza").attr("ref", "second").parent().removeClass("hide"); 11429 } 11430 11431 if($("#second-topping-ctr").length){ 11432 $("#back-to-main").parent().removeClass("hide"); 11433 $("#back-to-pizza").parent().addClass("hide"); 11434 $(".change-half").click(); 11435 } else{ 11436 if($("#second-half-plu").val()){ 11437 $("#back-to-main").parent().addClass("hide"); 11438 } 11439 } 11440 11441 modal_height(".modal-hh"); 11442 } 11443 }); 11444 11445 $("#back-to-main").live("click", function(){ 11446 $("#modal-header-main, #modal-body-main, #modal-footer-add").removeClass("hide"); 11447 $("#modal-header-hh, #modal-body-hh, #modal-footer-next").addClass("hide"); 11448 $(".modal-hh .modal-body").scrollTop($(".modal-body").offset().top); 11449 11450 modal_height(".modal-hh"); 11451 }); 11452 11453 $(".add-half, .hh-item-thumb").live("click", function(e){ 11454 if($(this).hasClass("hh-item-thumb")){ 11455 var plu = $(this).prev().attr("plu"); 11456 var which_half = $(this).prev().attr("ref"); 11457 var cgroup_id = $(this).prev().attr("cgroup_id"); 11458 var subid = $(this).prev().attr("subid"); 11459 var item_name = $(this).prev().find("p.hh-item-name").html(); 11460 } else{ 11461 var plu = $(this).attr("plu"); 11462 var which_half = $(this).attr("ref"); 11463 var cgroup_id = $(this).attr("cgroup_id"); 11464 var subid = $(this).attr("subid"); 11465 var item_name = $(this).find("p.hh-item-name").html(); 11466 } 11467 11468 hh_cur_toppings = hh_cur_toppings - hh_cur_toppings_tmp; 11469 11470 $("#"+which_half+"-half-plu").val(plu); 11471 $("#hh-"+which_half+"-item-list").addClass("hide"); 11472 $("#hh-"+which_half+"-selected").addClass("hide").html(""); 11473 $("#hh-"+which_half+" .lds-ring").show(); 11474 $(".change-half").attr("ref", which_half); 11475 $("#back-to-main").parent().addClass("hide"); 11476 $("#back-to-pizza").parent().removeClass("hide"); 11477 11478 hh_toppings_ajax = $.ajax({ 11479 type: "POST", 11480 url: "core/ajax/get_extra_toppings_popup.php", 11481 data: "plu="+plu+"&condiment_group_id="+cgroup_id+"&sub_cat_id="+subid+"&which_half="+which_half, 11482 success: function(data){ 11483 $("#hh-"+which_half+" .lds-ring").hide(); 11484 $("#hh-"+which_half+"-selected").removeClass("hide").html(data); 11485 $(".hh-"+which_half+" span.hh-"+which_half+"-item-label").html(item_name); 11486 $(".hh-"+which_half+" span.hh-"+which_half+"-icon").removeClass("glyphicon-chevron-right").addClass("glyphicon-ok"); 11487 $("#modal-footer-next button").attr("ref", which_half).prop("disabled", false); 11488 $(".hh-remaining-topping").html($(".modal-hh .modal-footer .hh-remaining-topping").html()); 11489 11490 if($("#"+which_half+"-topping-ctr").length){ 11491 $("#modal-footer-next button").click(); 11492 $("#hh-"+which_half+"-selected").addClass("hide"); 11493 $("#hh-"+which_half+"-item-list").removeClass("hide"); 11494 } 11495 } 11496 }); 11497 11498 var first_plu = $("#first-half-plu").val(); 11499 var second_plu = $("#second-half-plu").val(); 11500 11501 if(first_plu && second_plu){ 11502 $.ajax({ 11503 type: "POST", 11504 url: "core/ajax/get_half_half_price.php", 11505 data: "first_plu="+first_plu+"&second_plu="+second_plu, 11506 success: function(data){ 11507 if(data){ 11508 var price = parseFloat(data.trim()); 11509 $(".half-half-total").attr("price", price) 11510 11511 getHHTotal(price) 11512 } 11513 } 11514 }); 11515 } 11516 }); 11517 11518 $(".change-half").live("click", function(){ 11519 var which_half = $(this).attr('ref'); 11520 hh_cur_toppings_tmp = hh_cur_toppings; 11521 11522 if(hh_toppings_ajax.status !== 200){ 11523 hh_toppings_ajax.abort(); 11524 $("#hh-"+which_half+" .lds-ring").hide(); 11525 } 11526 11527 $("#hh-"+which_half+"-item-list").removeClass("hide"); 11528 $("#hh-"+which_half+"-selected").addClass("hide").empty(); 11529 $("#"+which_half+"-half-plu").val(""); 11530 $("#back-to-main").parent().removeClass("hide"); 11531 $(this).parent().addClass("hide");
11532 $("#modal-footer-next button").prop("disabled", true); 11533 $(".hh-"+which_half+" span.hh-"+which_half+"-item-label").html("Select your "+which_half+" half"); 11534 $(".hh-"+which_half+" span.hh-"+which_half+"-icon").removeClass("glyphicon-ok").addClass("glyphicon-chevron-right"); 11535 extra_toppings(which_half); 11536 getHHTotal(0); 11537 }); 11538 11539 $("#modal-footer-next button").live("click", function(){ 11540 var which_half = $(this).attr('ref'); 11541 var parent_div = $(this).closest('.modal-popup').closest('li').attr('id'); 11542 var modal_div = $(this).closest('.modal-popup').attr('id'); 11543 11544 var mio_ids = [], 11545 mio_msg = [], 11546 mio_req = 0; 11547 11548 $("#"+ parent_div +" .item-option-per-hh[ref='"+which_half+"']").each(function(){ 11549 if(typeof $(this).attr('mio-id') !== "undefined" && $(this).attr('mio_id') !== false){ 11550 mio_ids.push($(this).attr('mio-id')); 11551 } 11552 mio_ids = [... new Set(mio_ids)]; 11553 }); 11554 11555 var io_div; 11556 $.each(mio_ids, function(key, val){ 11557 var io_selected = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":checked").length, 11558 io_min = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").attr('min-io'), 11559 io_max = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").attr('max-io'), 11560 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(), 11561 io_container = $("#"+parent_div+" .item-option-per-hh-"+which_half+"-"+val+":first").parent().parent(); 11562 11563 io_container.css({"padding":"", "border":""}); 11564 11565 if(io_selected < io_min){ 11566 io_container.css({"padding":"5px", "border":"1px solid #dc3545"}); 11567 mio_req++; 11568 11569 if(!io_div){ 11570 io_div = io_container; 11571 } 11572 } else if(io_selected > io_max){ 11573 mio_msg.push("'"+io_name+"' can't have more than "+io_max); 11574 } 11575 }); 11576 11577 if(mio_req > 0){ 11578 showModalAlert('warning', '', 'Please complete all sections to finish your order', 'OK'); 11579 $("#"+modal_div+" .modal-body").scrollTop(0).scrollTop(io_div.position().top - 25); 11580 return false; 11581 } 11582 11583 if(mio_msg.length > 0){ 11584 showModalAlert('warning', '', mio_msg.join("<br/>"), 'OK'); 11585 return false; 11586 } 11587 11588 $("#modal-header-main, #modal-body-main, #modal-footer-add").removeClass("hide"); 11589 $("#modal-header-hh, #modal-body-hh, #modal-footer-next").addClass("hide"); 11590 $(".modal-hh .modal-body").scrollTop($(".modal-body").offset().top); 11591 modal_height(".modal-hh"); 11592 }); 11593 11594 $(".add_extra").live("click", function(){ 11595 var maxToppingValid = checkMaxToppingsLimit(); 11596 var _lo_max_toppings = hh_max_toppings; 11597 11598 if(!_lo_max_toppings){ 11599 _lo_max_toppings = 12; 11600 } 11601 11602 if(maxToppingValid == false){ 11603 showModalAlert('warning', '', 'You have reached the extras limit of '+_lo_max_toppings, 'OK'); 11604 return false; 11605 } 11606 11607 var currency = $(".half-half-total").text(); 11608 var halfhalftotal = parseFloat(currency.replace('$', '')); 11609 11610 // #2520 - Change the way of getting the price to respect the orderType 11611 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")); 11612 if(!price){ 11613 // to support clients hasn't cleared their cache yet 11614 price = $(this).attr("value"); //this is the original value of price 11615 } 11616 11617 var item_total = halfhalftotal; 11618 11619 if($(this).prop("checked")){ 11620 item_total = halfhalftotal + parseFloat(price); 11621 } else{ 11622 item_total = halfhalftotal - parseFloat(price); 11623 } 11624 11625 $(".half-half-total").html("$"+formatNumber(item_total)); 11626 11627 checkMaxToppingsLimit(); 11628 }); 11629 11630 $("#add-half-half").die("click"); 11631 $("#add-half-half").live("click", function(){ 11632 if($("input[name='storestatus']").val()=='offline'){ 11633 showModalAlert('warning', '', $('#offline-alert-txt').html(), 'OK'); 11634 11635 if(check_store_stat() == "online"){ 11636 location.reload(); 11637 } 11638 11639 return; 11640 } 11641 11642 var first_plu = $("#first-half-plu").val(); 11643 var second_plu = $("#second-half-plu").val(); 11644 var price = $(".half-half-total").text(); 11645 var half = ["first", "second"]; 11646 var item_option=""; 11647 11648 if($(".menu-item-option-radio-HHIO").length > 0){ 11649 if($(".menu-item-option-radio-HHIO:checked").length > 0){ 11650 item_option = $(".menu-item-option-radio-HHIO:checked").val(); 11651 } else{ 11652 showModalAlert('warning', '', 'You must select an \'Option\'', 'OK'); 11653 return false;
11654 } 11655 } else{ 11656 if($(".modal-hh .item-option-per-hh").length > 0){ 11657 item_option = {}; 11658 $(".modal-hh .item-option-per-hh:checked").each(function(){ 11659 if(typeof $(this).attr("ref") !== "undefined"){ 11660 if(typeof item_option[$(this).attr("ref")] === "undefined"){ 11661 item_option[$(this).attr("ref")] = ""; 11662 } 11663 item_option[$(this).attr("ref")] += item_option[$(this).attr("ref")].length ? "," : ""; 11664 item_option[$(this).attr("ref")] += $(this).val(); 11665 } 11666 }); 11667 } 11668 } 11669 11670 if($("#first-current-toppings-list-ul").length > 0){ 11671 var left_array = new Array(); 11672 } 11673 11674 if($("#second-current-toppings-list-ul").length > 0){ 11675 var right_array = new Array(); 11676 } 11677 11678 jQuery.each(half, function(index, item){ 11679 if($("#hh-"+item+"-selected li input[type='checkbox']").length > 0){ 11680 var i = 0; 11681 11682 $("#hh-"+item+"-selected li input[type='checkbox']").each(function(){ 11683 if((!$(this).hasClass("current_item") && $(this).prop("checked")) || ($(this).hasClass("current_item") && !$(this).prop("checked"))){ 11684 var plu = $(this).attr("plu"); 11685 var extra_price = $(this).val(); 11686 var qty = 1; 11687 11688 if($(this).hasClass("current_item") && !$(this).prop("checked")){ 11689 qty = -1; 11690 } 11691 11692 var option_id = 0; 11693 if($(this).attr("option_id")){ 11694 option_id = $(this).attr("option_id"); 11695 } 11696 11697 var is_current = $(this).hasClass("current_item"); 11698 var extras = new Array(plu, extra_price, qty, option_id, is_current); 11699 11700 if(item == "first"){ 11701 left_array[i] = extras; 11702 } else{ 11703 right_array[i] = extras; 11704 } 11705 11706 i++; 11707 } 11708 }); 11709 } 11710 }); 11711 11712 if(!first_plu || !second_plu){ 11713 showModalAlert('warning', '', 'You must select both halves', 'OK'); 11714 return false; 11715 } else{ 11716 $(".hh-close-popup").click(); 11717 11718 $.post("core/ajax/add_half_half.php", { 11719 'plu_left': first_plu, 11720 'plu_right': second_plu, 11721 'price': price, 11722 'left_toppings[]': left_array, 11723 'right_toppings[]': right_array, 11724 'item_option': item_option, 11725 'menu_id': (typeof $(this).attr('menu-id') !== "undefined" ? $(this).attr('menu-id') : '') 11726 }).done(function(data){ 11727 $("#view-basket").load("core/mybasket.php", function(){ 11728 get_cart_total(); 11729 new PNotify({ 11730 text: "Item added to order.", 11731 width: "220px", 11732 delay: 3000, 11733 type: "success" 11734 }); 11735 }); 11736 }); 11737 } 11738 }); 11739 /* Half-half - END */ 11740 11741 11742 11743 11744 lastreorderbutton(); 11745 11746 $.ajax({ 11747 url: "core/ajax/suburb-list.php", 11748 async: true, 11749 type: 'POST', 11750 // data:{initial:first_load}, 11751 success: function(data){ 11752 $("#suburb-container").html(data); 11753 }, 11754 error: function(error) { 11755 console.log(error); 11756 } 11757 }); 11758 11759 $('.store-details-open').append("Estimated Pickup ("+$("#est-time").text() + " mins)"); 11760 11761 const urlHash = window.location.hash; 11762 if(urlHash.startsWith('#deal=')){ // Check if the URL hash starts with '#deal=' then extract the deal card ID from the URL hash 11763 const dealCardId = urlHash.split('=')[1], 11764 dealCard = $("#"+dealCardId); 11765 11766 if(dealCard && dealCard.length > 0){ // If the deal card exists in the DOM 11767 let navbarHeight = $(".navbar").height(), 11768 fixedHeight = ($(window).width() > 1024) ? 126 : 54; // Adjust this value based on your layout 11769 11770 const dealCardButton = dealCard.find('#item-buttons .add-deal'); 11771 if(dealCardButton.prop('disabled')){ 11772 dealCardButton.prop('disabled', false); // Enable the button if it is disabled 11773 } 11774 dealCardButton.click(); // Trigger the click event on the add-deal button within the deal card 11775 11776 setTimeout(() => { 11777 $('html, body').animate({ 11778 scrollTop: dealCard.offset().top - navbarHeight - fixedHeight 11779 }, 500); 11780 }, 1500); 11781 } 11782 } 11783 }); 11784</script>
11784 11785 11786 11787
11788<script> 11789 (function(){ 11790 document.addEventListener('DOMContentLoaded', function(){ 11791 var menuBlocks = document.querySelectorAll('#menu-items > div[id$="-block"]'); 11792 menuBlocks.forEach(function(block){ 11793 var items = block.querySelectorAll('ul li:not([style*="display: none"])'); 11794 if(items.length === 0){ 11795 block.style.display = 'none'; 11796 } 11797 }); 11798 }); 11799 })(); 11800 </script>
vendor: 1 bytes, line 11800
11800
11801<script> 11802function feedbackIcon(element){ 11803 $(element).closest('.form-group').find('.glyphicon-form-icon').remove(); 11804 $(element).closest('.form-group').find('.help-block').remove(); 11805 if($(element).closest('.form-group').hasClass('has-success')){ 11806 $(element).closest('.form-group').prepend('<span class="glyphicon-form-icon glyphicon glyphicon-ok form-control-feedback" aria-hidden="false"></span>'); 11807 } 11808 else{ 11809 $(element).closest('.form-group').prepend('<span class="glyphicon-form-icon glyphicon glyphicon-remove form-control-feedback" aria-hidden="false"></span>'); 11810 $(element).closest('.form-group').append('<span class="help-block">This field is required.</span>'); 11811 } 11812} 11813 11814$(function() { 11815 var isMobile = window.matchMedia("only screen and (max-width: 760px)"); 11816 11817 11818 $('a.edit-delivery').click(function (){ 11819 $('#textDeliverytoggle').hide(); 11820 $('#editDelivery').slideDown(); 11821 11822 //Remove the default value from saved address 11823 11824 return false; //to prevent from going to the href link 11825 }); 11826 11827 $('#address-ok').click(function (){ 11828 var deliveryText = $('.delivery-address'); 11829 var deliveryInput = $('#deliveryStreet').val(); 11830 var deliveryAdd = deliveryInput.length > 3 ? deliveryInput : ''; 11831 var deliveryHouseNumber = $('#deliveryHouseNumber').val(); 11832 var deliveryUnitNumber = $('#deliveryUnitNumber').val(); 11833 var deliveryInstructions = $('#deliveryInstructions').val(); 11834 var btnDeliveryAdd = deliveryInput.length > 3 ? 'Edit' : 'Enter Address'; 11835 $('.delivery-address').removeClass('w0'); 11836 11837 if(deliveryInput.trim().length!=0 && deliveryText.text()!==deliveryInput && deliveryHouseNumber.trim().length!=0){ 11838 $('a.edit-delivery').text('Edit'); 11839 updateDeliveryStreet(deliveryAdd,deliveryUnitNumber,deliveryHouseNumber,deliveryInstructions); 11840 11841 if($("#estimated-time").length){ 11842 $("#estimated-time").load("core/estimated-time.php?type=delivery", function (data) { 11843 updateStoreDetails('Delivery'); 11844 11845 store_status('delivery', data); 11846 if (!$.trim(data)) { 11847 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 11848 } 11849 }); 11850 } else{ 11851 store_status('delivery', ''); 11852 } 11853 11854 if(deliveryUnitNumber.trim().length){ 11855 deliveryText.text(deliveryUnitNumber + ' / ' + deliveryHouseNumber + ' ' + deliveryAdd); 11856 }else{ 11857 deliveryText.text(deliveryHouseNumber + ' ' + deliveryAdd); 11858 } 11859 11860 $('a.edit-delivery').text(btnDeliveryAdd); 11861 $('a.edit-delivery').show(); 11862 $('#textDeliverytoggle').show(); 11863 $('#editDelivery').slideUp(); 11864 11865 }else{ 11866 $('a.edit-delivery').text('Enter Address'); 11867 $('.delivery-address').addClass('w0'); 11868 } 11869 11870 }); 11871 11872 $('#address-cancel').click(function (){ 11873 $('#editDelivery').slideUp(); 11874 $('#textDeliverytoggle').show(); 11875 }); 11876 11877 if($("#deliveryStreet").length){ 11878 if($('#deliveryStreet').val()!==''&& $('#deliveryStreet').val()!==null){ 11879 $('a.edit-delivery').text('Edit'); 11880 }else{ 11881 $('a.edit-delivery').text('Enter Address'); 11882 $('.delivery-address').addClass('w0'); 11883 } 11884 } 11885 11886 $j("[name='unitNumber'], [name='houseNumber'], [name='alternate-unitNumber'], [name='alternate-houseNumber'], #deliveryUnitNumber, #deliveryHouseNumber").on("input", function(event){ 11887 $(this).val($(this).val().substring(0, 5)); 11888 }); 11889 11890 //house number validate highlight 11891 $('#deliveryHouseNumber').focusout(function(){ 11892 if($(this).val().trim().length==0){ 11893 $(this).closest('.form-group').removeClass('has-success').addClass('has-error'); 11894 }else{ 11895 $(this).closest('.form-group').removeClass('has-error').addClass('has-success'); 11896 } 11897 feedbackIcon(this); 11898 }); 11899 11900 $('#deliveryStreet').focusout(function(){ 11901 if(!$(this).val()){ 11902 $(this).closest('.form-group').removeClass('has-success').addClass('has-error'); 11903 }else{ 11904 $(this).closest('.form-group').removeClass('has-error').addClass('has-success'); 11905 } 11906 feedbackIcon(this); 11907 }); 11908 11909 //-Order Type Options 11910 $(".order-type-bt").click(function(){ 11911 var order_type = this.value; 11912 var notice_txt; 11913 11914 if($(".order-type-bt.active").val() == order_type){ 11915 return true; 11916 } 11917 11918 if($('#view-basket .promo-with-different-plu').length && typeof $(this).data('bypass') === 'undefined'){ 11919 $('.order-type-bt').data('bypass', 1); 11920 $('#change-order-type-modal .modal-footer .btn-change-type').data('order-type', order_type); 11921 if($(this).hasClass('header')){ 11922 $('#change-order-type-modal .modal-footer .btn-change-type').addClass('header'); 11923 } 11924 $j('#change-order-type-modal').modal('show'); 11925 return true; 11926 } 11927 11928 $('.order-type-bt').removeData('bypass').removeClass('active'); 11929 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 11930 11931 setTimeout(() => { 11932 change_order_type(order_type); 11933 }, 100); 11934 11935 setTimeout(() => { 11936 if ('BroadcastChannel' in window) { 11937 const channel = new BroadcastChannel('refreshChannel'); 11938 channel.postMessage('refresh'); 11939 channel.close(); 11940 } 11941 }, 1000); 11942 }); 11943 11944 $('#change-order-type-modal .close, #change-order-type-modal .btn-continue-order').click(function(){ 11945 $('.order-type-bt').removeData('bypass'); 11946 $('#change-order-type-modal .btn-change-type').removeClass('header').removeData('orderType'); 11947 }); 11948 11949 $('#change-order-type-modal .btn-change-type').click(function(){ 11950 if(!$(this).hasClass('header')){
11951 $('#float-box .order-type-bt[value="'+$(this).data('order-type')+'"]').click(); 11952 } else{ 11953 $('#order-type-select .order-type-bt[value="'+$(this).data('order-type')+'"]').click(); 11954 } 11955 $(this).removeClass('header').removeData('orderType'); 11956 }); 11957 11958 //-Load Order Basket 11959 $('#view-basket').load('core/mybasket.php?page=', function(){ 11960 get_cart_total(); 11961 }); 11962 //-Load Customer Details 11963 $('#view-customer-details').load('core/view_customer_details.php'); 11964 11965 // Helper function for order type modal callbacks. Must stay inside this 11966 // $(function(){...}) closure - change_order_type() below is declared in 11967 // this same closure, not the global scope. 11968 function handleOrderTypeSelection(orderType) { 11969 change_order_type(orderType); 11970 var refresh = 0; 11971 //Bind modal attributes to each menu-items 11972 $(document).ajaxStop(function(){ 11973 refresh++; 11974 if(refresh == 1) { 11975 initialize_template3(); // call function to re-initialize js generated items 11976 } 11977 }); 11978 } 11979 11980 var current_width = $(window).width(); 11981 var current_template = 'template4'; 11982 if(current_width > 480 || (current_width <= 480 && current_template == 'template4')) { 11983 showModalConfirm('info', '', '<h4><center>Please Select Order Type</center></h4>', 'Delivery', 'Pickup', function(){ 11984 handleOrderTypeSelection('delivery'); 11985 }, function(){ 11986 handleOrderTypeSelection('pickup'); 11987 }); 11988 } 11989 11990 var ajaxResponse = false; 11991 11992 var xhr; 11993 11994 //-Checkout Proccess 11995 $(".checkout").click(function(){ 11996 page = $(this).attr('alt'); 11997 if( $("#promtional-code").length && $('#promtional-code').val().trim().length>0){ 11998 promo_code(xhr); 11999 }else{ 12000 checkout(); 12001 12002 } 12003 }); 12004 12005 //-Promo Code Validation 12006 $("#validate").click(function(){ 12007 var page = 'promo_validate'; 12008 if( $('#promtional-code').val().trim().length===0 ){ 12009 $('#promtional-code').focus(); 12010 }else{ 12011 promo_code(xhr); 12012 } 12013 }); 12014 12015 12016 /* 12017 * FUNCTIONS LIST: 12018 * -changeActiveType() 12019 * -change_order_type() 12020 * -store_status() 12021 * -show_stack_bottomright() 12022 * -confirmCheckout() 12023 * -checkout() 12024 * -promo_code() 12025 * -confirmCheckout() 12026 * -mycallbackfunc() 12027 * -updateDeliveryStreet() 12028 */ 12029 function changeActiveType(order_type){ 12030 var btnOrderType = $('.order-type-bt'); 12031 btnOrderType.removeClass('active'); 12032 if(order_type){ 12033 $("#current_order_type_holder").val(order_type); 12034 $('#order-type-bt-'+order_type+', .order-type-wrapper .btn-float-'+order_type).addClass('active'); 12035 $('#platina-order-type-bt-'+order_type).addClass('active'); 12036 } 12037 }; 12038 12039 function updateDeliveryStreet(street_suburb,unit_number,house_number,delivery_instructions){ 12040 if(!street_suburb && !house_number){ 12041 return false; 12042 } 12043 $.ajax({ 12044 method: 'POST', 12045 dataType: 'JSON', 12046 data: {street_suburb:street_suburb, unit_number:unit_number, house_number:house_number, delivery_instructions:delivery_instructions}, 12047 url: 'core/ajax/set_order_type.php', 12048 async: false, 12049 }).done(function (e) { 12050 if(e.location_details.zone){ 12051 new PNotify({ 12052 text: 'Your address <b>'+e.location_details.street_suburb+'</b> is subject to delivery zone surcharge.', 12053 width: "380px", 12054 delay: 10000, 12055 type: 'success' 12056 }); 12057 } 12058 if(e.location_details.zonewaittime){ 12059 new PNotify({ 12060 text: 'Estimated Delivery Time has been updated according to your zone.', 12061 width: "380px", 12062 delay: 5000, 12063 type: 'success' 12064 }); 12065 } 12066 if(e.location_details.defaulttime){ 12067 new PNotify({ 12068 text: 'Estimated Delivery Time has been updated.', 12069 width: "380px", 12070 delay: 5000, 12071 type: 'success' 12072 }); 12073 } 12074 12075 $('#view-basket').load('core/mybasket.php?page=', function() { 12076 // Update navigation bar total after address change 12077 if (typeof get_cart_total === 'function') { 12078 get_cart_total(); 12079 } 12080 }); 12081 12082 //Hide alert upon changing the address 12083 }); 12084 } 12085 12086 function change_order_type(order_type) { 12087 changeActiveType(order_type); 12088 12089 $("#bt-checkout").prop('disabled', true); 12090 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', true); 12091 12092 12093 $('.order-type-bt[value="'+order_type+'"]').addClass('active'); 12094 $("#current_order_type_holder").val(order_type); 12095 $('#order-type-bt-'+order_type).addClass('active'); 12096 12097 $('.order-type-store-searchbar .select2-container--platina').hide(); 12098 12099 if (order_type == 'pickup') { 12100 $('.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" />'); 12101 $('.order-type-text').html('Pick up Order'); 12102 12103 $('.order-type-store-searchbar #chainStores').show(); 12104 $('.order-type-store-searchbar #select2-chainStores-container').parents('.select2-container--platina').first().show(); 12105 $('#getLocation').show(); 12106 $('#searchNearest').hide(); 12107 $('.order-type-store-searchbar #searchForm').hide(); 12108 } else if (order_type == 'delivery') { 12109 $('.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" />'); 12110 $('.order-type-text').html('Delivery Order'); 12111 12112 $('.order-type-store-searchbar #chainStores').hide(); 12113 $('.order-type-store-searchbar #select2-searchForm-container').parents('.select2-container--platina').first().show(); 12114 $('#getLocation').hide(); 12115 $('#searchNearest').show(); 12116 $('.order-type-store-searchbar #searchForm').show(); 12117 } 12118 12119 //change order type 12120 $.ajax({ 12121 method: 'POST', 12122 url: 'core/ajax/set_order_type.php', 12123 dataType: 'JSON', 12124 data: {order_type: order_type} 12125 }).success(function (data) { 12126 12127 if(data.status == "preordering") { //displays start time if pre-ordering 12128 if (order_type == 'pickup') { 12129 $('#cart-alert').html('Pickup starts at ' + data.start_time).show(); 12130 $('#bt-checkout').html('PRE-ORDER'); 12131 } else if (order_type == 'delivery') { 12132 $('#cart-alert').html('Delivery starts at ' + data.start_time).show(); 12133 $('#bt-checkout').html('PRE-ORDER'); 12134 } 12135 }else if(data.status == "future_ordering") { //displays start time if pre-ordering 12136 if (order_type == 'pickup') { 12137 $('#cart-alert').html('Only accepting Future Orders').show(); 12138 $('#bt-checkout').html('PRE-ORDER'); 12139 } else if (order_type == 'delivery') { 12140 $('#cart-alert').html('Only accepting Future Orders').show(); 12141 $('#bt-checkout').html('PRE-ORDER'); 12142 } 12143 }else{ 12144 $('#cart-alert').hide(); 12145 $('#bt-checkout').html('CHECK OUT'); 12146 } 12147 12148 if(data.startLunch != null){ 12149 $('#cart-alert').show(); 12150 $('#cart-alert').html('Lunch time: <b>' + data.startLunch + ' to ' + data.endLunch + '</b>'); 12151 } 12152 12153 if(data.delivery_start_time != null){ 12154 $('#cart-alert').show(); 12155 $('#cart-alert').html('Delivery orders start at ' + data.delivery_start_time); 12156 } 12157 12158 if(data.status == 'delivery_ended'){ 12159 $('#cart-alert').show(); 12160 if(data.start_time) 12161 $('#cart-alert').html('Delivery has finished for today.'); 12162 else 12163 $('#cart-alert').html('Delivery not available today.'); 12164 } 12165 12166 if ($('#menu-cont').length != 0) { 12167 //loads menu from api 12168 var tempReorder = $('#menuitems-reorder').prop('outerHTML'); 12169 12170 var platform_fee_container = null; 12171 if($('#menu-cont .platform-fee-msg').length > 0){ 12172 platform_fee_container = $('#menu-cont .platform-fee-msg').clone(); 12173 } 12174 12175 $('#menu-cont').load('https://doughboyz.com.au/api/getmenu.php', {client_id:1288, order_type:order_type, menu_type:'both'}, function (data, status, xhr) { 12176 if (status == "error") { 12177 //window.location = '?order_type='+order_type; 12178 } else { 12179 12180 /*OOA-205 Platina - Pick Up and Delivery Anchoring*/ 12181 menu_nav(); 12182 12183 //$('#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>'); 12184 get_cart_total(); 12185 12186 if($(window).width() < 480){ 12187 $('#menu-cont').addClass("order-type-changed"); 12188 } 12189 12190 dealEndBeforeTime(); 12191 deal_before_time = setInterval(dealEndBeforeTime, 2000); 12192 12193 $.getScript("https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/js/scrollspy.js"); 12194 } 12195 $("#menu-items").prepend(tempReorder); 12196 lastreorderbutton(); 12197 12198 12199 if(!$("#estimated-time").length){ 12200 store_status(order_type, ''); 12201 } 12202 12203 if(platform_fee_container){ 12204 $('#menu-cont #menu-items').prepend(platform_fee_container); 12205 } 12206 }); 12207 } 12208 12209 12210 //change display info 12211 if (order_type == 'delivery') { 12212 var txt = 'Your delivery will come from:';
12213 $('#order-type-details-delivery').show(); 12214 $('#order-type-details-pickup').hide(); 12215 12216 $("#estimated-time").load("core/estimated-time.php?type=delivery", function (data) { 12217 updateStoreDetails('Delivery'); 12218 12219 store_status(order_type, data); 12220 if (!$.trim(data)) { 12221 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 12222 } 12223 }); 12224 } else if (order_type == 'pickup') { 12225 var txt = 'You will be picking up from:'; 12226 $('#order-type-details-pickup').show(); 12227 $('#order-type-details-delivery').hide(); 12228 $("#estimated-time").load("core/estimated-time.php?type=pickup", function (data) { 12229 updateStoreDetails('Pickup'); 12230 12231 store_status(order_type, data); 12232 if (!$.trim(data)) { 12233 $("#estimated-time").html('<h3>Store is Offline!</h3>'); 12234 } 12235 }); 12236 } 12237 $('#view-basket').load('core/mybasket.php?page=', function() { 12238 if (typeof get_cart_total === 'function') { 12239 get_cart_total(); 12240 } 12241 }); 12242 }); 12243 12244 } 12245 12246 function store_status(order_type, notice_txt) { 12247 $.post('core/ajax/store_status.php', function (data) { 12248 if ($.trim(data) == 'taking_orders' || $.trim(data) == 'preordering' || $.trim(data) == 'future_ordering') { 12249 $("#bt-checkout").removeClass('disabled'); 12250 $("#bt-checkout").attr('disabled', false); 12251 12252 //Disable checkout button upon checking store status 12253 } else { 12254 $("#bt-checkout").addClass('disabled'); 12255 $("#bt-checkout").attr('disabled', true); 12256 12257 if(notice_txt != undefined && notice_txt != ''){ 12258 show_stack_bottomright(order_type, notice_txt); 12259 } 12260 } 12261 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12262 }); 12263 12264 } 12265 12266 function show_stack_bottomright(order_type,notice_txt) { 12267 var stack_bottomright = {"dir1": "up", "dir2": "left", "firstpos1": 25, "firstpos2": 25}; 12268 var str = order_type +" Not Available"; 12269 str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) { 12270 return letter.toUpperCase(); 12271 }); 12272 var opts = { 12273 title: str, 12274 text: notice_txt, 12275 addclass: "stack-bottomright", 12276 stack: stack_bottomright 12277 }; 12278 new PNotify(opts); 12279 } 12280 12281 function checkout(e,v,m,f){ 12282 var order_time = ''; 12283 //var street_suburb = $("#deliveryStreet").val() == null ? '' : $("#deliveryStreet").val(); 12284 var checkorder = true; 12285 var type; 12286 if($('#order_time').length >0){ 12287 order_time = $('#order_time').val(); 12288 } 12289 $(".order-type-bt").each(function(){ 12290 if($(this).hasClass('active')){ 12291 if($(this).val()==='delivery'){ 12292 type='delivery'; 12293 }else{ 12294 type='pickup'; 12295 checkorder = true; 12296 } 12297 } 12298 }); 12299 12300 12301 if(checkorder){ 12302 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', true); 12303 $.ajax({ 12304 type: "POST", 12305 url: "core/ajax/checkorder.php", 12306 }).done(function(msg){ 12307 if(msg=='reload'){ 12308 location.reload(); 12309 return; 12310 } 12311 12312 if(msg=='guess_checkout'){ 12313 window.location = '?page=checkout'; 12314 return; 12315 } 12316 12317 if(msg=='verifycode'){ 12318 startSMSCodeTimer(); 12319 showSMSVerifyWindow(); 12320 return; 12321 } 12322 12323 if(msg=='prompt_login'){ 12324 window.login_referer = 'checkout'; 12325 $('.or_guest, .checkout_as_guest').show(); 12326 $('.register-ling a').attr('href','?page=register'); 12327 $('#login-wrap').fadeToggle('fast'); //display the popup modal login 12328 $('#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery').prop('disabled', false); 12329 $('.checkout_as_guest a').text('Checkout as Guest'); 12330 return; 12331 } 12332 12333 var address_err_code = ['complete_delivery_details', 'house_number_required', 'invalid_street_name', 'invalid_address']; 12334 if(address_err_code.includes(msg)){ 12335 var address_err_msg = []; 12336 address_err_msg['complete_delivery_details'] = "Please complete your address details for delivery"; 12337 address_err_msg['house_number_required'] = "Please enter your house number";
12338 address_err_msg['invalid_street_name'] = address_err_msg['invalid_address'] = "Sorry, delivery address is not recognised. Please re-enter address."; 12339 12340 var address_info = { 12341 "deliveryUnitNumber": "", 12342 "deliveryStreetNumber": "", 12343 "deliveryStreetSuburb": "", 12344 "delivery_instructions": "", 12345 "address_err_msg": address_err_msg[msg] 12346 } 12347 12348 window.login_referer = 'checkout'; 12349 $("#login-wrap").fadeToggle("fast"); 12350 update_address(address_info); 12351 return; 12352 } 12353 12354 if(e===undefined && (msg=='cart_loyalty_negative_amount' || msg=='cart_discount_negative_amount')){ 12355 12356 if(msg=='cart_loyalty_negative_amount'){ 12357 var display_msg = 'Your order value is lower than your redemption. The Remaining value will be lost. Why not add to your order?'; 12358 }else if(msg=='cart_discount_negative_amount'){ 12359 var display_msg = 'Your order value is lower than your discount. The Remaining value will be lost. Why not add to your order?'; 12360 } 12361 12362 showModalConfirm('warning', '', display_msg, 'No Thanks, I\'m Done', 'Continue Browsing', function(){ 12363 msg=1; 12364 mycallbackfunc2(true); 12365 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12366 }, function(){ 12367 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12368 }); 12369 return false; 12370 }else if(e===true && v===true){ //if customer agrees to continue 12371 msg=1; 12372 } 12373 12374 if(msg=='cart_first_order'){ 12375 showModalAlert('cart', '', 'Please add items in your cart.', 'OK'); 12376 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12377 return; 12378 } 12379 12380 if(msg=='cart_first_order_loyalty'){ 12381 showModalAlert('warning', '', 'Please add another item with your Loyalty Redemption Reward.', 'OK'); 12382 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12383 return; 12384 } 12385 12386 if(msg>0){ 12387 12388 12389 if($('#jqi_state0_buttonOk').length){ 12390 $('.free-item-popup button#jqi_state0_buttonOk').live('click', function(e){ 12391 window.location = '?page='+page+'&order_time='+order_time; 12392 sessionStorage.removeItem('payment_time'); 12393 sessionStorage.removeItem('order_date'); 12394 sessionStorage.removeItem('order_time'); 12395 }); 12396 }else{ 12397 window.location = '?page='+page+'&order_time='+order_time; 12398 sessionStorage.removeItem('payment_time'); 12399 sessionStorage.removeItem('order_date'); 12400 sessionStorage.removeItem('order_time'); 12401 } 12402 }else if(msg<0){ 12403 showModalAlert('warning', '', 'Your order is less than the minimum order!', 'OK'); 12404 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12405 }else{ 12406 showModalAlert('cart', '', 'Your order is currently empty!', 'OK'); 12407 $("#order-type-bt-pickup, #order-type-bt-delivery, #platina-order-type-bt-pickup, #platina-order-type-bt-delivery").prop('disabled', false); 12408 } 12409 }); 12410 } 12411 } 12412 12413 function promo_code(xhr){ 12414 var promotional_code = '', 12415 promo_code_id = $("#promtional-code"); 12416 if(promo_code_id.length){ 12417 if(promo_code_id.hasClass('checked')){ 12418 return false;
12419 } 12420 12421 promotional_code = promo_code_id.val(); 12422 if(promotional_code.trim().length===0){ 12423 ajaxResponse = true; 12424 return false; 12425 } else{ 12426 promo_code_id.addClass('checked'); 12427 } 12428 } else{ 12429 return false; 12430 } 12431 12432 //-if has request 12433 if(xhr){ xhr.abort(); } 12434 12435 //-promo code request 12436 xhr = $.ajax({ 12437 type: "GET", 12438 url: "core/ajax/check_promotional_code.php", 12439 data: {promotional_code:promotional_code} 12440 }).done(function(msg){ 12441 if(msg){ 12442 var response_code = msg.response_code; 12443 var promptMessage; 12444 12445 /** v6 promocode lib returns this metadata for discounts */ 12446 if (msg.notification) { 12447 promptMessage = msg.notification; 12448 } else { 12449 promptMessage = msg.message; 12450 } 12451 12452 $('#promo-modifier-modal .modal-header .close').show(); 12453 $('#promo-modifier-modal .modal-header .message-container .promo-code-wrapper .promo-code-container').html(promotional_code.toUpperCase()); 12454 $('#promo-modifier-modal .modal-header .message-container .promo-code-redemption-label, #promo-modifier-modal .modal-body').css('display', 'none'); 12455 $('#promo-modifier-modal .modal-body .modifier-wrapper').removeClass('promo-added').empty(); 12456 $('#promo-modifier-modal .modal-footer').removeClass('promo-added'); 12457 $('#promo-modifier-modal .modal-footer .btn').removeClass('item-option').prop('disabled', false).removeData('optionIds').html('Ok'); 12458 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('disable'); 12459 12460 //-prompt error 12461 if(response_code !== '00'){ 12462 ajaxResponse = false; 12463 $('#promo-modifier-modal .modal-header .close').hide(); 12464 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12465 $('#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>'); 12466 $('#promo-modifier-modal .modal-footer').addClass('promo-added'); 12467 $j('#promo-modifier-modal').modal('show'); 12468 }else{ 12469 //-ajax has flag is_special 12470 if(msg.is_special === 1){ 12471 deals_popup(msg); 12472 }else if(msg.is_itemoption){ 12473 promo_last_io_checked = []; 12474 $('#promo-modifier-modal .modal-header .message-container').html(promptMessage); 12475 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12476 $('#promo-modifier-modal .modal-body .modifier-wrapper').html(msg.item_options); 12477 $('#promo-modifier-modal .modal-footer .btn').addClass('item-option').html('Add'); 12478 12479 if(msg.is_multiple){ 12480 if(msg.is_multiple_required){ 12481 $('#promo-modifier-modal .modal-footer .btn').prop('disabled', true); 12482 $j('#promo-modifier-modal .modal-footer span[data-toggle=tooltip]').tooltip('enable'); 12483 } 12484 } else{ 12485 var promo_selected_io; 12486 if($('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:checked').length > 0){ 12487 promo_selected_io = $('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:checked').attr('ref'); 12488 } else{ 12489 promo_selected_io = $('#promo-modifier-modal .modal-body .modifier-wrapper .promo-item-option-radio-list:first').attr('ref'); 12490 } 12491 $('#promo-modifier-modal .modal-footer .btn').data('option-ids', promo_selected_io); 12492 } 12493 12494 $j('#promo-modifier-modal').modal('show'); 12495 }else{ 12496 $('#view-basket').load('core/mybasket.php?page=', function () { 12497 if ($('#discount_removal_notif').length === 0) { 12498 $('#promo-modifier-modal .modal-header .close').hide(); 12499 $('#promo-modifier-modal .modal-body').css('display', 'block'); 12500 $('#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>'); 12501 $('#promo-modifier-modal .modal-footer').addClass('promo-added'); 12502 $j('#promo-modifier-modal').modal('show'); 12503 12504 get_cart_total(); 12505 } 12506 }); 12507 } 12508 } 12509 } 12510 promo_code_id.removeClass('checked').val(''); 12511 }); 12512 12513 return xhr; 12514 } 12515 12516 function confirmCheckout(ordertype){ 12517 $.ajax({ 12518 type: "POST", 12519 url: "core/ajax/get_times.php", 12520 data: "client_id=1288&ordertype="+ordertype, 12521 success: function(msg){ 12522 var storeOpenAttrValue = $('<div>').html(msg).find('h2').first().attr('store-open'); 12523 var h2TextValue = $('<div>').html(msg).find('h2').first().text(); 12524 var isStoreOpen = (storeOpenAttrValue || '').trim() === 'true'; 12525 if (isStoreOpen && !h2TextValue.includes('Store is not available right now')) { 12526 showModalConfirm('info', '', msg, 'Proceed', 'Cancel', function(){ 12527 mycallbackfunc(true); 12528 }); 12529 } else { 12530 showModalAlert('warning', '', msg, 'Cancel'); 12531 } 12532 } 12533 12534 }); 12535 return false;
12536 } 12537 12538 function confirmDisclaimerCheckout(){ 12539 showModalConfirm('warning', '', "Please check your final order as the store will not be held accountable for any customer's mistake.", 'Proceed', 'Cancel', function(){ 12540 mycallbackfunc(true); 12541 }); 12542 12543 return false; 12544 } 12545 12546 function promptWithoutBeerCheckout2(){ 12547 $(".main-mask").css('z-index','998').addClass('active'); 12548 $(".main-mask").css('display','block').addClass('active'); 12549 $(".promptWithoutBeerCheckout").addClass('active'); 12550 } 12551 12552 //function to Update the Store Information Details 12553 function updateStoreDetails(mode) { 12554 if ($("#estimated-time #est-time").length) { 12555 $('.store-details-open').empty().append('<span class="store-time-clock glyphicon glyphicon-time" style="margin-right:10px;"></span>Estimated ' + mode + ' (' + $('#est-time').text() + ' mins)'); 12556 $('.store-details-open').show(); 12557 $('.store-details-close').hide(); 12558 } else { 12559 $('.store-details-open').hide(); 12560 $('.store-details-close').show(); 12561 12562 var dataText = $("#estimated-time .store_status").text(); 12563 if (dataText === 'closed') { 12564 $('.store-status-details').html('<p>Store is not open for orders right now.</p>'); 12565 } else if (dataText === 'future_ordering') { 12566 $('.store-status-details').html('<p>Store is closed today but you can place your order for a later date.</p>'); 12567 } else if (dataText === 'preorder_waiting' || dataText === 'preordering') { 12568 if(mode == 'Delivery' && true){ 12569 $('.store-status-details').html('<p>Delivery starts later but you can pre-order now.</p>'); 12570 }else{ 12571 $('.store-status-details').html('<p style="margin-right:10px;">Store is currently closed but you can still order for later.</p>'); 12572 } 12573 } else if (dataText === 'closed_after_lunch') { 12574 $('.store-status-details').html('<p>Store is currently closed. Please come back later.</p>'); 12575 } else if (dataText === 'delivery_waiting') { 12576 $('.store-status-details').html('<p>Delivery orders start later.</p>'); 12577 } else if (dataText === 'delivery_ended') { 12578 $('.store-status-details').html('<p>Delivery has finished for today.</p>'); } 12579 } 12580 } 12581 12582 function mycallbackfunc(e,v,m,f){ 12583 if(e){ 12584 checkout(); 12585 } 12586 } 12587 12588 function mycallbackfunc2(e,v,m,f){ 12589 if(e){ 12590 checkout(e,true); 12591 } 12592 } 12593 12594 $("#submitcode").click(function () { 12595 ($("#smscode").val().length <=0) ? $("#smscode").css("border-color", "red") : $("#smscode").removeAttr('style') 12596 $.ajax({ 12597 type: "POST", 12598 url: "core/ajax/validatesmscode.php", 12599 data: $("#smscode").serialize(), 12600 success: function (result) { 12601 if (result == 'verified') { 12602 checkout(); 12603 } else if(result == 'verifiedguest'){ 12604 window.location.href = '?page=checkout'; 12605 } else if (result == 'failed') { 12606 $("#smscode").css("border-color", "red"); 12607 showModalAlert('warning', '', 'Code is invalid. Please check if the code is correct.', 'OK'); 12608 }else if (result == 'expired') { 12609 $("#smscode").css("border-color", "red"); 12610 showModalAlert('warning', '', 'Code has expired (code is valid only within 10 minutes).', 'OK'); 12611 } 12612 } 12613 }); 12614 }); 12615 $("#smscode").keypress(function (){ 12616 ($("#smscode").val().length >4)?$("#smscode").removeAttr('style'):''; 12617 }) 12618 12619}); 12620</script>
12620 12621 12622 12623<div id='float-box' class="sidebar-offcanvas"> 12624 12625 12626 <div id="menu-title" class="fbTitle"> 12627 Order Type 12628 <a class="navbar-toggle fbClose" data-toggle="offcanvas"> 12629 <span class="glyphicon glyphicon-remove"></span> 12630 </a> 12631 </div><!-- #menu-title --> 12632 12633 <div id='float-details'> 12634 </div><!-- #float-details --> 12635 12636 12637 12638 12639 <div class="btn-group btn-block btn-group-lg" id='order-type-bt'> 12640 <button type="button" class="btn btn-default active order-type-bt " value='pickup' id='order-type-bt-pickup'>Pickup</button> 12641 <button type="button" class="btn btn-default order-type-bt " value='delivery' id='order-type-bt-delivery'>Delivery</button> 12642 </div><!-- #order-type-bt --> 12643 <span id='street-validate' class='msg-validate' ></span> 12644 <div id='location'> 12645 <div id='order-type-details'> 12646 <div id='order-type-details-delivery' style="display:none"> 12647 12648 <div id="deliveryAddressWrap" class="tab-content" style="word-wrap: break-word;"> 12649 <div class="tab-pane active" id="textDelivery"> 12650 <div id="textDeliverytoggle"> 12651 <div class="to">To: </div> 12652 12653 <div class="delivery-address-container"> 12654 <span class="delivery-address"> 12655 </span> 12656 <div class="edit-delivery-container" style = "display: inline-block"><a class="edit-delivery" href="#editDelivery" aria-controls="editDelivery"> Edit </a></div> 12657 </div> 12658 </div> 12659 </div> 12660 12661 <div class="tab-pane" id="editDelivery"> 12662 <div id="address-title-div" class="box-heading"> 12663 <span id="address-title-span">Your Address</span> 12664 </div> 12665 12666 <div class="form-group has-feedback input-grp input-col-2"> 12667 <input class="form-control" name="deliveryUnitNumber" maxlength="5" id="deliveryUnitNumber" autocomplete="off" value="" type="text" placeholder="Unit Number"> 12668 <span class="input-icon glyphicon glyphicon-home"></span> 12669 </div> 12670 12671 <div class="form-group has-feedback input-grp input-col-2"> 12672 <input class="form-control" name="deliveryHouseNumber" maxlength="5" type="text" id="deliveryHouseNumber" autocomplete="off" value="" placeholder="House Number*" /> 12673 <span class="input-icon glyphicon glyphicon-home"></span> 12674 </div> 12675 12676 <div class="form-group has-feedback input-grp input-col-2" style="width:100%;"> 12677 <select id="deliveryStreet" name="deliveryStreet" class="select2" style="width: 100%;"> 12678 </select> 12679<!-- <span class="input-group-btn">--> 12680<!-- <a href="#textDelivery" class="btn btn-primary btn-delivery-done" aria-controls="textDelivery" role="tab" style="visibility: hidden; position: absolute;">Ok</a>--> 12681<!-- </span>--> 12682 <span class="input-icon glyphicon glyphicon-home"></span> 12683 </div> 12684 12685 <div class="form-group has-feedback input-grp input-col-2"> 12686 <input class="form-control" name="deliveryInstructions" type="text" id="deliveryInstructions" autocomplete="off" value='' maxlength="255" placeholder="Delivery Instructions"/> 12687 <span class="input-icon glyphicon glyphicon-comment"></span> 12688 </div> 12689 12690 <div class="form-group has-feedback input-grp input-col-2 buttons"> 12691 <button class="btn btn-primary" type="submit" id="address-ok">Ok</button> 12692 <button class="btn btn-danger" type="button" value="Cancel" id="address-cancel">Cancel</button> 12693 </div> 12694 12695 </div> 12696 </div> 12697 12698 12699
12699<script> 12700 (function($){ 12701 $(document).ready(function(){ 12702 12703 $('.select2').on('select2:open', function (e) { //fix for misaligned option when dropdown is opened from above 12704 var y = $(window).scrollTop(); 12705 $(window).scrollTop(y + 1); 12706 }); 12707 12708 $('.select2').select2({ 12709 placeholder: 'Street, Suburb*', 12710 width: '100%', 12711 ajax: { 12712 url: 'core/ajax/find_streets.php', 12713 dataType: 'json', 12714 delay: 250, 12715 processResults: function (data) { 12716 12717 var select2Data = $.map(data, function (obj) { 12718 obj.id = obj.street; 12719 obj.text = obj.street; 12720 return obj; 12721 }); 12722 12723 return { 12724 results: select2Data 12725 }; 12726 }, 12727 cache: false 12728 }, 12729 language: { 12730 noResults: function(){ 12731 return "Outside of delivery zone"; 12732 } 12733 }, 12734 minimumInputLength: 2, 12735 templateResult: function (data) { 12736 return data.street; 12737 }, 12738 12739 }).on("select2:close", function (e) {
12740 //$(this).valid(); 12741 if(!$(this).val()){ 12742 $(this).closest('.form-group').removeClass('has-success').addClass('has-error'); 12743 }else{ 12744 $(this).closest('.form-group').removeClass('has-error').addClass('has-success'); 12745 } 12746 feedbackIcon(this); 12747 }); 12748 }); 12749 })($j); 12750 </script>
12750 12751 12752 </div><!-- #order-type-details-delivery --> 12753 </div><!-- #order-type-details --> 12754 </div><!-- #location --> 12755 12756 <div id='view-basket'></div><!-- #view-basket --> 12757<div id="promo-code"> 12758 <div class="input-group"> 12759 <label for="promo" class="glyphicon glyphicon-tag" rel="tooltip"></label> 12760 <input type="text" class="form-control" title="Enter Promotional Code" value="" name="promtional-code" id="promtional-code" placeholder="Promo Code"> 12761 <span class="input-group-btn"> 12762 <input class="btn btn-primary" type="submit" name="validate" id="validate" value="Apply" /> 12763 </span> 12764 </div> 12765</div><!-- #promo-code --> 12766<div id="cart-alert" class="alert alert-warning" role="alert" style="font-size: 18px;">Pickup starts at 04:00pm</div> 12767 <button id='bt-checkout' class='btn bt-checkout checkout ' type="submit" alt='login' > PRE-ORDER</button> 12768 12769 <input type="hidden" name="storestatus" value="online" /> 12770 12771</div> 12772 </div> 12773 12774 12775 12776<div style="clear:both"></div> 12777 12778 12779 12780 12781 12782 12783 12784<div id="screen"></div> 12785 12786 12787 12788<div id="loading_bar"></div> 12789 12790 12791</div> 12792 12793 12794</div> 12795 12796<!-- START OF FULL FOOTER --> 12797 <!-- FRANCHISE TEMPLATE --> 12798 12799<!-- Suburb List --> 12800 <div id="suburb-container"></div> 12801 <!-- Mobile Apps --> 12802 <div class="col-md-12" id="download-app"> 12803 <div class="container"> 12804 <div class="section-content"> 12805 <div class="column col-md-12"> 12806 <div class="section-title2">Download The App</div> 12807 <div class="download-app-content"> 12808 <div class="badges"> 12809 <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> 12810 </div> 12811 </div> 12812 </div> 12813 </div> 12814 </div> 12815 <!-- About Us --> 12816 <div class="col-md-12" id="about-us"> 12817 <div class="container"> 12818 <div class="section-content"> 12819 12820 <div class="column "> 12821 <div class="section-title">About Us</div> 12822 <div class="about-us-content"> 12823 <p> 12824 <section class='doughboyz-section'> 12825 <div class='row'> 12826 <div class='col-md-6 col-sm-12 doughboyz-img-1'> 12827 <img src='https://d2ova09jg8x3xk.cloudfront.net/doughboyz.com.au/images/logo.png' class='img-fluid' 12828 alt='pizza-icon'> 12829 </div> 12830 12831 <div class='col-md-6 col-sm-12 doughboyz-para-1'> 12832 <h3 class='doughboyz-about-us'>About Us</h3> 12833 <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> 12834 <p>Dough Boyz is where comfort food meets serious attitude. Come hungry. Leave happy.</p> 12835 </div> 12836 </div> 12837</section> </p> 12838 <a href="#partner-enquiry" id="partner-enquiry-link" style="display:none;"><button class="btn-franchise button-edged">Partner Enquiry</button></a> 12839 </div> 12840 </div> 12841 </div> 12842 </div> 12843 </div> 12844 12845 <!-- Partner Enquiry Section --> 12846 <div class="col-md-12" id="partner-enquiry" style="display:none;"> 12847 <div class="container"> 12848 <div class="section-content"> 12849 <div class="row partner-enquiry-flex"> 12850 <!-- Left Side - Branding and Text --> 12851 <div class="col-md-6"> 12852 <div> 12853 <div class="section-title2" id="partner-enquiry-title">Partner Enquiry</div> 12854 <p class="partner-enquiry-text"> 12855 Join our growing family of successful partners. Send us your details and let's have a chat about this exciting opportunity. 12856 </p> 12857 </div> 12858 </div> 12859 12860 <!-- Right Side - Form --> 12861 <div class="col-md-6 col-sm-12"> 12862 <div class="partner-enquiry-form-container"> 12863 <div class="alert" role="alert" style="display:none; text-align:center; margin-bottom: 20px;"></div> 12864 12865 <form role="form" value="Contact Form" id="franchiseInquiryForm"> 12866 <div class="form-group"> 12867 <label for="inquiry-name">Name *</label> 12868 <input id="inquiry-name" type="text" class="form-control" placeholder="Name"> 12869 <small id="inquiry-name-help" class="form-text text-danger" style="display:none;"></small> 12870 </div> 12871 12872 <div class="form-group"> 12873 <label for="inquiry-email">Email *</label> 12874 <input id="inquiry-email" type="email" class="form-control" placeholder="Email"> 12875 <small id="inquiry-email-help" class="form-text text-danger" style="display:none;"></small> 12876 </div> 12877 12878 <div class="form-group"> 12879 <label for="inquiry-phone">Phone *</label> 12880 <input id="inquiry-phone" name="phone" type="text" class="form-control" placeholder="Phone"> 12881 <small id="inquiry-phone-help" class="form-text text-danger" style="display:none;"></small> 12882 </div> 12883 12884 <div class="row"> 12885 <div class="col-md-6"> 12886 <div class="form-group"> 12887 <label for="inquiry-suburb">Suburb *</label> 12888 <input id="inquiry-suburb" type="text" class="form-control" placeholder="Suburb"> 12889 <small id="inquiry-suburb-help" class="form-text text-danger" style="display:none;"></small> 12890 </div> 12891 </div> 12892 12893 <div class="col-md-6"> 12894 <div class="form-group"> 12895 <label for="inquiry-state">State *</label> 12896 <select id="inquiry-state" class="form-control"> 12897 <option value="">Select state</option> 12898 <option value="NSW">NSW</option> 12899 <option value="VIC">VIC</option> 12900 <option value="QLD">QLD</option> 12901 <option value="SA">SA</option> 12902 <option value="WA">WA</option> 12903 <option value="TAS">TAS</option> 12904 <option value="ACT">ACT</option> 12905 <option value="NT">NT</option> 12906 </select> 12907 <small id="inquiry-state-help" class="form-text text-danger" style="display:none;"></small> 12908 </div> 12909 </div> 12910 </div> 12911 12912 <div class="form-group"> 12913 <label for="inquiry-message">Message *</label> 12914 <textarea id="inquiry-message" class="form-control" rows="4" placeholder="Message" maxlength="500"></textarea> 12915 <small id="inquiry-message-help" class="form-text text-danger" style="display:none;"></small> 12916 </div> 12917 12918 <div id='loadin_bar' style='display:none; text-align:center; margin: 20px 0;'></div> 12919 12920 <div class="captcha"> 12921 <div id="recaptchaContainer"> 12922 <div id="ofe_reCaptcha" class="grecaptcha"></div> 12923 </div> 12924 <small id="verify_captcha_message" class="text-danger" style="display:none;">Please verify security check.</small> 12925 </div>
vendor: 216 bytes, lines 12925-12928
12925 12926 12927 <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> 12928
12928<button type="button" value="franchise-submit" class="btn btn-primary franchise-btn-submit franchise-inquiry-btn">Submit</button> 12929 </form> 12930 </div> 12931 </div> 12932 </div> 12933 </div> 12934 </div> 12935 </div> 12936 12937 12938<!-- Start of OOA-897: New Store Unavailable Status--> 12939<!-- End of OOA-897: New Store Unavailable Status--> 12940 12941 12942 <!-- END OF FULL FOOTER --> 12943 <div class="footerWrap"> 12944 <button id="ftToggle" class=""><span class="glyphicon glyphicon-info-sign"></span></button> 12945 <div id="footer"> 12946 <div class="container"> 12947 <div class="col-md-12" id="footer-black"> 12948 <div class="col-md-3"> 12949 <div id="footer-images"> 12950 <div id="p-type"> 12951 <img id="p-master" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/mastercard.png"> 12952 <img id="p-visa" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/visa.png"> 12953 <img id="p-paypal" src="https://deliverit-online-resources-prd.s3.ap-southeast-2.amazonaws.com/templates/template4/img/new_footer/small/paypal.png"> 12954 </div> 12955 <span id="siteseal">
12955<script type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=adWUpnhKlbKz7BcrgjiUvfhL72FCKx967UWaFd0twSw0KCFBDSoMCeH"></script>
12955</span> 12956 </div> 12957 </div> 12958 <div class="col-md-3"> 12959 <div id="footer-text"> 12960 <p class="footer-h">Need a hand?</p> 12961 <p><a href='?page=terms'>Terms and Conditions</a></p> 12962 <p><a href='?page=privacy'>Privacy Policy</a></p> 12963 <p><a href='?page=feedback'>Having any Problems?</a></p> 12964 <p><a href='?page=feedback'>Feedback</a></p> 12965 </div> 12966 </div> 12967 <div class="col-md-3" style=""> 12968 <div id="footer-contact"> 12969 <p class="footer-h">Contact Us</p> 12970 <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> 12971 <p><a href="tel:0889329446" class="phone-link">08 8932 9446</a></p> 12972 </div> 12973 </div> 12974 <div class="col-md-3"> 12975 <div id="footer-brand"> 12976 <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> 12977 <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> 12978 </div> 12979 <div id="footer-icons"> 12980 <div id="footer-social"> 12981 <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> 12982 </div> 12983 </div> 12984 </div> 12985 <div class="col-md-12"> 12986 <p id="footer-copyright"><b>Dough Boyz</b> © Copyright 2026. All right Reserved. Powered By Deliverit Software</p> 12987 </div> 12988 </div> 12989 </div> 12990 <div id="footer-new"> 12991 <div class="new_footer"> 12992 <div id="footer-new-text" class="col-md-4"> 12993 <p id="footer-new-links"> 12994 <a href="?page=terms">Terms and Conditions</a> ⢠12995 <a href="?page=feedback">Feedback</a> 12996 </p> 12997 <p id="footer-new-links"> 12998 <a href="?page=privacy">Policy</a> ⢠12999 <a href="?page=feedback">Having Any Problems?</a> 13000 </p> 13001 </div> 13002 <div id="footer-new-icons" class="col-md-4"> 13003 <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> 13004 <div id="footer-new-brand" class="col-md-4"> 13005 <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> 13006 <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> 13007 </div>
13008 </div> 13009 </div> 13010 </div> 13011 </div> 13012</div> 13013 13014 13015<!-- Global Banner --> 13016<div id="globalalert_container" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="globalAlertModal" aria-hidden="true" data-backdrop="true" data-keyboard="true"> 13017 <div class="modal-dialog modal-dialog-centered" role="document"> 13018 <div class="modal-content" id="globalalert_banner"> 13019 <div class="alert-header"> 13020 <div id="globalalert_close"><i class="fa-solid fa-xmark"></i></div> 13021 </div> 13022 <div id="globalalert_cover"> 13023 </div> 13024 13025 <span id="globalalert_message" style=""> 13026 </span> 13027 </div> 13028 </div> 13029</div> 13030<!-- End of Global Banner --> 13031 13032<!-- Web Only Banner --> 13033<div id="webalert_container" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="webAlertModal" aria-hidden="true" data-backdrop="true" data-keyboard="true"> 13034 <div class="modal-dialog modal-dialog-centered" role="document"> 13035 <div class="modal-content" id="webalert_banner"> 13036 <div class="alert-header"> 13037 <div id="webalert_close"><i class="fa-solid fa-xmark"></i></div> 13038 </div> 13039 <div id="webalert_cover"> 13040 </div> 13041 13042 <span id="webalert_message" style=""> 13043 </span> 13044 </div> 13045 </div> 13046</div> 13047<!-- End of Web Only Banner --> 13048
13049<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 13049
13049
13050<script> 13051$(document).ready(function(){ 13052 if ($('#partner-enquiry').length) { 13053 $('#partner-enquiry').show(); 13054 $('#partner-enquiry-link').show(); 13055 $('.partner-enquiry-nav').show(); 13056 $('#partner-enquiry-title').text( 13057 'Contact ' + "Dough Boyz" ); 13058 $('.partner-enquiry-nav .nav-text').text( 13059 ' Contact Us' 13060 ); 13061 $('.partner-enquiry-text').text( 13062 'Get in touch with ' + "Dough Boyz" + '. Simply leave your details below.' 13063 ); 13064 } 13065 // WEB-723 Platina template footer overlap upon first load 13066 $(window).scroll(); 13067 13068 // $('#login-wrap').fadeToggle("fast"); 13069 }); 13070</script>
13070 13071<div class="pac-container pac-logo" style="display: none;"></div>
13072<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-3bd9f889cb1db7ee0cc","applicationID":"589511629","transactionName":"Z1cHNURYXRFVWxBaWl4dMBNfFloMUF0cHUVYQg==","queueTime":0,"applicationTime":837,"atts":"SxAEQwxCTh8=","errorBeacon":"bam.nr-data.net","agent":""}</script>
13072<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>
13072 13073</body> 13074</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.