var previousNumbers,previousSearch;var storeList=[];$(document).ready(function(){$("#menulinks-wrapper").addClass("bottomDottedBorder");setLoading(false);showSearchElements();setStoreDetails();switch(countryCode.toUpperCase()){case"AU":case"NZ":case"NL":case"BE":case"DE":case"DK":case"FR":case"LU":case"SG":case"MY":case"TW":$(".mystoreDiv").remove();$(".storeDetailsDiv").removeClass("col-md-6").addClass("col-md-12");$(".storeNameDiv").parent().addClass("address-main-div");$(".changeStoreLink").removeClass("pull-left").addClass("pull-right");$(".addressInputMainDiv").removeClass("col-md-9").addClass("col-md-12");break;default:break;}});function setStoreDetails(){if(store_number!==null&&store_number!=="0"&&store_number!==""){showDynamicStoreSearch(false);}else{showDynamicStoreSearch(true);}}
function comboSearch(currentSearch){currentSearch=currentSearch.trim();if(currentSearch.length<3){clearTimeout(timer);setLoading(false);$('.combo-search-results').children().fadeOut(function(){$(this).remove();});$('.combo-search-results').addClass("hidden");previousSearch="";previousNumbers="NONE";}else if(currentSearch!==previousSearch){setLoading(true);getStoresWithDelay(currentSearch,findStore,updateComboResults);previousSearch=currentSearch;}}
function findStore(storeId){return filter(storeList,function(d){return d.Number.toString()===storeId;})[0];}
var timeout;function setTimeoutValue(timeoutInMillis){timeout=timeoutInMillis;}
var timer;function getStoresWithDelay(query,process,callback){if(timeout>0){if(timer){clearTimeout(timer);}
timer=setTimeout(function(){getStores(query,process,callback);},timeout);}
else{getStores(query,process,callback);}}
var storeNumbers;function getStores(query,process,callback){var maximumStores=parseInt(maxStores);if(!maximumStores){maximumStores=null;}
var urlGetStores="/dynamicstoresearchapi/getlimitedstores/"+maximumStores+"/"+encodeURIComponent(query);if(countryCode=="BE"||countryCode=="LU"){urlGetStores="/"+window.location.pathname.split('/')[1]+"/"+"dynamicstoresearchapi/getlimitedstores/"+maximumStores+"/"+encodeURIComponent(query);}
setLoading(true);$.ajax({type:"GET",url:urlGetStores,success:function(result){setLoading(false);storeNumbers="";if(result.Data.length>0){storeList=result.Data;$.each(storeList,function(index,store){storeNumbers+=store.StoreNo;});}else{storeList=[{Number:'NO_MATCH'}];}},complete:function(){if(callback)callback();}});}
function updateComboResults(){var $comboResults=$('.combo-search-results');if(storeNumbers!==previousNumbers){$comboResults.empty();var $listItem;$comboResults.removeClass("hidden");if(!storeNumbers){$comboResults.append($('<li><div class="noResultFoundDiv">'+noResultFoundMsg+'</div></li>')).fadeIn();}else{$.each(storeList,function(index,store){var storeName,storeAddress;switch(countryCode){case"AU":case"NZ":case"NL":case"DE":case"FR":case"BE":case"DK":case"SG":case"MY":case"TW":storeName=dominos_label+" "+store["Name"];storeAddress=store["Address"]["StreetName"]+", <br>"+store["Address"]["Suburb"]+" "+store["Address"]["State"]+" "+store["Address"]["PostalCode"];break;default:storeName=store["FullName"];storeAddress="";break;}
$listItem=$("<li data-storenumber="+"'"+store["StoreNo"]+"'>"+"<a class= 'store-result dynamicStoreSearchbtn' "+"data-menuCode='"+menuCode+"'"+"data-country= '"+countryCode+"'"+"data-storeno='"+store["StoreNo"]+"'"+"data-name='"+store["Name"].replace(/'/g,"&#39;")+"'"+"data-state='"+store["Address"]["State"]+"'"+"data-onlineordering='"+(store["OrderingMethods"]["Online"]?"true":"false")+"'"+"data-postalcode='"+store["Address"]["PostalCode"]+"'"+"data-storeurl ='"+store["Properties"]["storeUrl"]+"'"+"onclick='setCookieAndReloadStoreMenu(this);'"+">"+"<div class='resultStoreNameOuterDiv'><div class='resultStoreNameDiv'>"+
storeName+"</div>"+"<p class='storeAddress'>"+storeAddress+"</p>"+"<span class='selectBtn'>"+selectBtnLabel+"</span></div></a>"+"</li>");$comboResults.append($listItem);$listItem.fadeIn();});}}
setLoading(false);previousNumbers=storeNumbers;}
function setCookieAndReloadStoreMenu(model){var store={"countryCode":$(model).data("country"),"storeNo":$(model).data("storeno"),"name":$(model).data("name"),"state":$(model).data("state"),"onlineOrdering":$(model).data("onlineordering"),"postalcode":$(model).data("postalcode")};setCookieAndReloadStoreMenuFromJson(store);window.location.href=window.location;return false;}
function setCookieAndReloadStoreMenuFromJson(store){var now=new Date();var time=now.getTime();time+=3600*1000;now.setTime(time);document.cookie='preferredStore='+encodeURIComponent(JSON.stringify(store))+'; expires='+now.toUTCString()+'; path=/';document.cookie='StoreNo='+store.storeNo+'; expires='+now.toUTCString()+'; path=/';}
function setLoading(val){if(val){$('#loading-indicator').removeClass("hidden");}else{$('#loading-indicator').addClass("hidden");}}
function showDynamicStoreSearch(val){if(val){showSearchElements();getLocation();}else{$("#dvStoreInformation").removeClass("hidden");$("#dvSearchStore").addClass("hidden");$("#productDisclaimerStore").addClass("hidden");$("#customer-suburb").val("");$("#dynamicStoreSearchSection").removeClass("dynamicOverlay");comboSearch("");}}
function showSearchElements(){var contents=$('#customer-suburb')[0];contents.value='';comboSearch("");$("#dvStoreInformation").addClass("hidden");$("#dvSearchStore").removeClass("hidden");$("#dynamicStoreSearchSection").addClass("dynamicOverlay");$("#productDisclaimerStore").removeClass("hidden");if($('#dynamicSearchCancel').length===0){$("#loading-indicator").addClass("txtFullWidth");$("#customer-suburb").addClass("txtWithoutCancelLink");}else{$("#loading-indicator").addClass("txtSmallWidth");$("#customer-suburb").addClass("txtWithCancelLink");}
$("#customer-suburb").unbind('keyup');$('#customer-suburb').on('keyup',function(e){comboSearch($(this).val());});}
function getLocation(){var contents=$('#customer-suburb')[0];contents.value='';if(navigator.geolocation){var options={enableHighAccuracy:true,timeout:5000,maximumAge:0};navigator.geolocation.getCurrentPosition(setLocation,error,options);function setLocation(position){var geoCodeApi=`/GetStoreLocale?lon=${position.coords.longitude}&lat=${position.coords.latitude}`;fetch(geoCodeApi).then(function(res){if(res.ok){return res.text();}
return null;}).then(function(locale){if(locale!==null){contents.value=locale;comboSearch(contents.value);}}).catch(error);}}
function error(err){setLoading(false);};}
function initLocation(){if(document.cookie.indexOf("storeNo")!==-1){setStoreDetails();return;}
if(navigator.geolocation){var options={enableHighAccuracy:true,timeout:10000,maximumAge:0};navigator.geolocation.getCurrentPosition(setLocation,error,options);function setLocation(position){var geoCodeApi=`/GetStoreLocale?lon=${position.coords.longitude}&lat=${position.coords.latitude}`;fetch(geoCodeApi).then(function(res){if(res.ok){return res.text();}
return null;}).then(function(locale){if(locale!==null){getStores(locale,null,updateDefaultStore);}}).catch(error);}}else{setStoreDetails();}
function error(err){setLoading(false);};}
function updateDefaultStore(){if(storeNumbers){var firstStore=storeList[0];var store={"countryCode":countryCode,"storeNo":firstStore["StoreNo"],"name":firstStore["Name"].replace(/'/g,"&#39;"),"state":firstStore["Address"]["State"],"onlineOrdering":(firstStore["OrderingMethods"]["Online"]?"true":"false"),"postalcode":firstStore["Address"]["PostalCode"]};setCookieAndReloadStoreMenuFromJson(store);showDynamicStoreSearch(false);$("#dynamicStoreSearchSection").load(document.URL+" #dynamicStoreSearchSection");$("pizzamenus").load(document.URL+" pizzamenus");}else{setStoreDetails();}};
