
var spoonWidget;var sJQ;var curWVer='https://api.getspoonfed.com/styles/inline.css?v=u_fV2H12cASMZ9c-1t-UwicnzPpio9E2DH6szjmMxzQ1';if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,position){var subjectString=this.toString();if(typeof position!=='number'||!isFinite(position)||Math.floor(position)!==position||position>subjectString.length){position=subjectString.length;}
position-=searchString.length;var lastIndex=subjectString.lastIndexOf(searchString,position);return lastIndex!==-1&&lastIndex===position;};}
var widgetDetection={isPhone:false,isTablet:false,init:function(){var obj=this;var windowWidth=window.screen.width<window.outerWidth?window.screen.width:window.outerWidth;if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){if(windowWidth<500){obj.isPhone=true;}else{obj.isTablet=true;}}
function getScript(url,success){var script=document.createElement('script');script.src=url;var head=document.getElementsByTagName('head')[0],done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=='loaded'||this.readyState=='complete')){done=true;success();script.onload=script.onreadystatechange=null;head.removeChild(script);};};head.appendChild(script);};var fileref=document.createElement("link");fileref.setAttribute("rel","stylesheet");fileref.setAttribute("type","text/css");fileref.setAttribute("href",curWVer);document.getElementsByTagName("head")[0].appendChild(fileref)
getScript('//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js',function(){if(typeof jQuery=='undefined'){}else{if(typeof jQuery.ui=='undefined'){}
doActualInitialisation();}});function doActualInitialisation(){sJQ=jQuery.noConflict(true);sJQ(document).ready(function(){spoonWidget=new spoonWidgetClass();spoonWidget.Init();});}}}
var dtHelp={dateToString:function(dowList,nDate,incDayName,branchDateFormat){var dName='';if(incDayName){dName=dowList[nDate.getDay()]+' ';}
if(branchDateFormat==2){return dtHelp.pad(nDate.getMonth()+1,2)+'/'+dtHelp.pad(nDate.getDate(),2)+'/'+nDate.getFullYear();}else if(branchDateFormat==3){return nDate.getFullYear()+'/'+dtHelp.pad(nDate.getMonth()+1,2)+'/'+dtHelp.pad(nDate.getDate(),2);}else{return dtHelp.pad(nDate.getDate(),2)+'/'+dtHelp.pad(nDate.getMonth()+1,2)+'/'+nDate.getFullYear();}},dateToISOString:function(nDate){return nDate.getFullYear()+'-'+dtHelp.pad(nDate.getMonth()+1,2)+'-'+dtHelp.pad(nDate.getDate(),2);},pad:function(number,length){var str=''+number;while(str.length<length){str='0'+str;}
return str;},dateFromUTCString:function(str){var dts=str.split("-");var tmpDay=parseInt(dts[0]);if(isNaN(tmpDay)){dts[0]=dts[0].substring(4);}
var out=new Date(dts[0],parseInt(dts[1])-1,dts[2]);return out;},timeDisplayFormat:function(src,use12HrFormat){if(use12HrFormat){var pts=src.split(':');var hr=parseInt(pts[0],10);var nPost='am';if(hr==0){hr=12;}else if(hr==12){nPost='pm';}else if(hr>12){hr=hr-12;nPost='pm';}
return hr+':'+pts[1]+nPost;}else{return src;}}}
widgetDetection.init();function spoonWidgetClass(){this.Init=function(){SetupWidget();}
function CheckOptions(lnk){var params={};var reqStyle=sJQ(lnk).attr('data-formstyles');if(reqStyle&&reqStyle.length>0){if(reqStyle=='basic'){params=sJQ.extend(params,{basicStyles:true});}}
var nMode=sJQ(lnk).attr('data-formtargetmode');var reqWidth=sJQ(lnk).attr('data-formtargetwidth');var reqHeight=sJQ(lnk).attr('data-formtargetheight');if(nMode&&nMode.length>0){var nOrientation=0;if(nMode=='ver'){nOrientation=1;}
params=sJQ.extend(params,{formMode:nOrientation});if(reqWidth){var nW=parseInt(reqWidth,10);params=sJQ.extend(params,{formWidth:nW});}
if(reqHeight){var nH=parseInt(reqHeight,10);params=sJQ.extend(params,{formHeight:nH});}}
return params;}
function getScript(url,success){var script=document.createElement('script');script.src=url;var head=document.getElementsByTagName('head')[0],done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=='loaded'||this.readyState=='complete')){done=true;success();script.onload=script.onreadystatechange=null;};};head.appendChild(script);};function SetupWidget(){sJQ('.spoonwdgt').each(function(index,value){var lnk=this;var $lnk=sJQ(lnk);var wCode=Math.random().toString().replace('.','');var options=CheckOptions(lnk);var widgtId='spoonwdgtFrm'+index;var apiURL=$lnk.attr('href');var wdata=null;var branchDateOffset;var collectionOpenTimes=[];var deliveryOpenTimes=[];var closedTimes=[];var siteOpenTimesCol=[];var siteOpenTimesDel=[];var baseMonthIndex=0;var delMsg='';var delAvail=[];var branchId=0;var delSiteId=null;var selPC='';var isDelivery=false;if(!apiURL.endsWith('/')){apiURL=apiURL+'/';}
if(!$lnk.hasClass('processed')){$lnk.addClass('processed');sJQ('<div></div>').addClass('spoonwidget').attr('id',widgtId).insertAfter(lnk);var $widget=sJQ('#'+widgtId);if(options.formMode==1){$widget.addClass('wdgtvert');}
if(!options.basicStyles){$widget.addClass('wdgtstyles');}
$lnk.hide();InitialiseWidget();}
function InitialiseWidget(){var theURL=apiURL+'init/data.ashx';sJQ.ajax({url:theURL,jsonp:"callback",dataType:"jsonp"}).then(function(data){wdata=data;SetupWidget(wdata);}).fail(function(){$lnk.show();});}
function SetupWidget(data){branchID=data.BranchID
baseMonthIndex=GetMonthIndex(data.CurrentYear,data.CurrentMonth);SetLocalTime(data.CurrentYear,data.CurrentMonth,data.CurrentDay,data.CurrentHour,data.CurrentMin,0);delMsg=data.DelMessage;for(var i=0;i<data.DeliveryOpenTimes.length;i++){var t=data.DeliveryOpenTimes[i];AddDeliveryOpenTimes(t.Year,t.Month,t.days,t.SiteId);}
for(var i=0;i<data.CollectionOpenTimes.length;i++){var t=data.CollectionOpenTimes[i];AddCollectionOpenTimes(t.Year,t.Month,t.days,t.SiteId);}
if(data.SiteList.length==0){ApplyTimesForSite(null);}
if(data.HasDelivery){var dvDelTypeDelivery="<div class='deltype typeDelivery'>"
if(!data.HasCollection){dvDelTypeDelivery="<div class='deltype typeDelivery singleSelection'>"}
sJQ(dvDelTypeDelivery+'<div class="cont"><div class="img"><span class="wdgticon icon-vanlarge"></span></div><h2>Delivery</h2><div class="infodesc"></div><div class="delform" style="display: none;"></div></div></div>').appendTo($widget);$widget.find('.typeDelivery .infodesc').html(data.DeliveryDesc);if(data.DelZoneList.length>0){var siteStr='<div class="form-line">'
+'<label class="form-label">Location</label>'
+'<div class="form-field">'
+'<select id="ddlLocation'+index+'" class="ddlDelLoc" >'
+'<option value="">Select</option>'
+'</select>'
+'</div>'
+'</div>';sJQ(siteStr).appendTo($widget.find('.typeDelivery .delform'));for(var i=0;i<data.DelZoneList.length;i++){var opt=sJQ('<option></option>').attr('value',data.DelZoneList[i].Id).attr('data-siteid',data.DelZoneList[i].SiteId).html(data.DelZoneList[i].Name);$widget.find('.typeDelivery .delform .ddlDelLoc').append(opt);}}else{var useTextArea=false;var pcPlaceholder=data.PCName;if(data.GeoCodingEnabled){if(!data.AutoCompleteEnabled){useTextArea=true;}
pcPlaceholder='Address'}
var siteStr='<div class="form-line">'
+'<label class="form-label">'+data.PCName+'</label>'
+'<div class="form-field withbutton">';if(useTextArea){siteStr=siteStr+'<textarea rows=5 type="text" id="tbPC'+index+'" class="tbPC" placeholder="'+pcPlaceholder+'" ></textarea>';}else{siteStr=siteStr+'<input type="text" id="tbPC'+index+'" class="tbPC" placeholder="'+pcPlaceholder+'" />';}
siteStr=siteStr+'<button class="btnPCCheck" >Go</button>'
+'</div>'
+'</div>';sJQ(siteStr).appendTo($widget.find('.typeDelivery .delform'));if(data.GeoCodingEnabled&&data.AutoCompleteEnabled){sJQ('#tbPC'+index).addClass('hasAuto');if(gAuto.HasScript){}else{gAuto.HasScript=true;setTimeout(function(){var acURL='https://maps.google.com/maps/api/js?key=[key]&libraries=places&callback=gAuto.initAutocomplete';acURL=acURL.replace('[key]',data.AutoCompleteKey);getScript(acURL,function(){});},20);}}}
var colDtStr='<div class="dtselection">'
+'<div class="form-line">'
+'<label class="form-label">Date</label>'
+'<div class="form-field" id="del-date-input">'
+'<select id="ddlDelDate'+index+'" class="ddlDelDate" ></select>'
+'</div>'
+'</div>'
+'<div class="form-line">'
+'<label class="form-label">Time</label>'
+'<div class="form-field">'
+'<select id="ddlDelTime'+index+'" class="ddlDelTime" ></select>'
+'</div>'
+'</div>'
+'</div>';sJQ(colDtStr).appendTo($widget.find('.typeDelivery .delform'));sJQ('<div class="dvPCError"></div>').appendTo($widget.find('.typeDelivery .delform'));sJQ('<div class="form-line btn-line"><button id="btnDeliver'+index+'" class="btnDeliver">Continue</button></div>').appendTo($widget.find('.typeDelivery .delform'));var $ddlDDate=$widget.find('.typeDelivery .delform .ddlDelDate');var $ddlDTime=$widget.find('.typeDelivery .delform .ddlDelTime');BindDateTime($ddlDDate,$ddlDTime);$widget.find('.typeDelivery .delform .dtselection').hide();$widget.find('.typeDelivery .delform .btn-line').hide();if(data.DelZoneList.length>0){$widget.find('.typeDelivery .delform .ddlDelLoc').change(function(e){var nZone=sJQ(this).val();var nVal=sJQ(this).find('option:selected').attr('data-siteid');var siteId=null;if(nVal!=''&&nVal!=null){siteId=parseInt(nVal);}
if(nZone!=''){$widget.find('.typeDelivery .delform .dtselection').slideDown();$widget.find('.typeDelivery .delform .btn-line').slideDown();}else{$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();}
delSiteId=siteId;ApplyTimesForSite(siteId);SetDates($ddlDDate,deliveryOpenTimes);});}else{$widget.find('.typeDelivery .delform .btnPCCheck').on('click',function(e){e.preventDefault();lookupPostcode();});$widget.find('.typeDelivery .delform .tbPC').on('keydown',function(e){$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();var code=(e.keyCode?e.keyCode:e.which);if(code==13){e.preventDefault();lookupPostcode();}});ApplyTimesForSite(null);SetDates($ddlDDate,deliveryOpenTimes);}
$widget.find('.typeDelivery .delform .btnDeliver').on('click',function(e){e.preventDefault();if(validateDelivery()){var nValZone=$widget.find('.typeDelivery .delform .ddlDelLoc').val();var dt=$widget.find('.typeDelivery .delform .ddlDelDate').val();var tm=$widget.find('.typeDelivery .delform .ddlDelTime').val();var theURL=apiURL+'?wt=2&wdt='+dt+'&wtm='+tm;if(nValZone&&nValZone!=''){theURL=theURL+'&wz='+nValZone;}
if(selPC!=''){theURL=theURL+'&wpc='+encodeURIComponent(selPC);}
if(data.OpenInNewTab){window.open(theURL,'_blank');}else{window.location=theURL;}}});$widget.find('.typeDelivery').on('click',function(){selectDelivery()});}
if(data.HasCollection){var dvDelTypeCollection="<div class='deltype typeCollection'>"
if(!data.HasDelivery){dvDelTypeCollection="<div class='deltype typeCollection singleSelection'>"}
sJQ(dvDelTypeCollection+'<div class="cont"><div class="img"><span class="wdgticon icon-collectlarge"></span></div><h2>Pick-Up</h2><div class="infodesc"></div><div class="colform" style="display: none;"></div></div></div>').appendTo($widget);$widget.find('.typeCollection .infodesc').html(data.CollectionDesc);if(data.SiteList.length>0){var siteStr='<div class="form-line">'
+' <label class="form-label lblSiteName"></label>'
+' <div class="form-field">'
+'  <select id="ddlSite'+index+'" class="ddlColSite" >'
+'   <option value="">Select</option>'
+'  </select>'
+' </div>'
+'</div>';sJQ(siteStr).appendTo($widget.find('.typeCollection .colform'));$widget.find('.typeCollection .colform .lblSiteName').html(data.SiteName);for(var i=0;i<data.SiteList.length;i++){var opt=sJQ('<option></option>').attr('value',data.SiteList[i].Id).html(data.SiteList[i].Name);$widget.find('.typeCollection .colform #ddlSite'+index).append(opt);}}
var colDtStr='<div class="dtselection">'
+' <div class="form-line">'
+'  <label class="form-label">Date</label>'
+'  <div class="form-field" id="col-date-input">'
+'   <select id="ddlColDate'+index+'" class="ddlColDate" ></select>'
+'  </div>'
+' </div>'
+' <div class="form-line">'
+'  <label class="form-label">Time</label>'
+'  <div class="form-field">'
+'   <select id="ddlColTime'+index+'" class="ddlColTime" ></select>'
+'  </div>'
+' </div>'
+'</div>';sJQ(colDtStr).appendTo($widget.find('.typeCollection .colform'));sJQ('<div class="form-line btn-line"><button id="btnCollect'+index+'" class="btnCollect">Continue</button></div>').appendTo($widget.find('.typeCollection .colform'));var $ddlDate=$widget.find('.typeCollection .colform .ddlColDate');var $ddlTime=$widget.find('.typeCollection .colform .ddlColTime');BindDateTime($ddlDate,$ddlTime);$widget.find('.typeCollection .colform .btn-line').hide();if(data.SiteList.length>0){$widget.find('.typeCollection .colform .dtselection').hide();$widget.find('.typeCollection .colform .ddlColSite').change(function(e){var nVal=sJQ(this).val();var siteId=null;if(nVal!=''&&nVal!=null){siteId=parseInt(nVal);}
delSiteId=siteId;ApplyTimesForSite(siteId);if(siteId!=null){$widget.find('.typeCollection .colform .dtselection').slideDown();}else{$widget.find('.typeCollection .colform .dtselection').slideUp();$widget.find('.typeCollection .colform .btn-line').slideUp();}
SetDates($ddlDate,collectionOpenTimes);});}else{ApplyTimesForSite(null);SetDates($ddlDate,collectionOpenTimes);}
$widget.find('.typeCollection .colform .btnCollect').on('click',function(e){e.preventDefault();if(validateCollection()){var nVal=$widget.find('.typeCollection .colform .ddlColSite').val();var siteId=null;if(nVal!=''&&nVal!=null){siteId=parseInt(nVal);}
var dt=$widget.find('.typeCollection .colform .ddlColDate').val();var tm=$widget.find('.typeCollection .colform .ddlColTime').val();var theURL=apiURL+'?wt=1&wdt='+dt+'&wtm='+tm;if(siteId!=null){theURL=theURL+'&ws='+siteId;}
if(data.OpenInNewTab){window.open(theURL,'_blank');}else{window.location=theURL;}}});$widget.find('.typeCollection').on('click',function(){selectCollection()});}
doCallback('initcomplete',widgtId);function doCallback(eventType,widgetElmId,data){if(window.widgetCallback){window.widgetCallback(eventType,widgetElmId,data);}}
function SetLocalTime(year,month,day,hour,minute,second){var branchDate=new Date(year,month-1,day,hour,minute,second);var bDate=new Date();branchDateOffset=branchDate.getTime()-bDate.getTime();}
function GetBranchTime(){var bDate=new Date();return new Date(bDate.getTime()+branchDateOffset);}
function GetBranchDate(){var rTime=GetBranchTime();return new Date(rTime.getFullYear(),rTime.getMonth(),rTime.getDate());}
function ApplyTimesForSite(siteId){applyCollection(siteId);applyDelivery(siteId);function applyDelivery(nSiteId){var oTimes=null;var cTimes=null;if(nSiteId==null){nSiteId=Math.min.apply(null,siteOpenTimesDel.map(function(x){return x.SiteId}));}
if(nSiteId==0){nSiteId=null;}
for(var i=0;i<siteOpenTimesDel.length;i++){var nItm=siteOpenTimesDel[i];if((nItm.SiteId==null&&nSiteId==null)||(nItm.SiteId==nSiteId)){oTimes=nItm.Times;cTimes=nItm.Closed;break;}}
if(nSiteId!=null&&oTimes==null){applyDelivery(null);}else{deliveryOpenTimes=oTimes||[];closedTimes=cTimes||[];}}
function applyCollection(nSiteId){var oTimes=null;var cTimes=null;if(nSiteId==null){nSiteId=Math.min.apply(null,siteOpenTimesCol.map(function(x){return x.SiteId}));}
if(nSiteId==0){nSiteId=null;}
for(var i=0;i<siteOpenTimesCol.length;i++){var nItm=siteOpenTimesCol[i];if((nItm.SiteId==null&&nSiteId==null)||(nItm.SiteId==nSiteId)){oTimes=nItm.Times;cTimes=nItm.Closed;break;}}
if(nSiteId!=null&&oTimes==null){applyCollection(null);}else{collectionOpenTimes=oTimes||[];closedTimes=cTimes||[];}}}
function GetMonthIndex(year,month){return(year-2012)*12+month;}
function GetMonthOffset(year,month){return GetMonthIndex(year,month)-baseMonthIndex;}
function AddCollectionOpenTimes(year,month,timeData,siteId){var monthOffset=GetMonthOffset(year,month);var oTimes=null;var cTimes=null;for(var i=0;i<siteOpenTimesCol.length;i++){var nItm=siteOpenTimesCol[i];if((nItm.SiteId==null&&siteId==null)||(nItm.SiteId==siteId)){oTimes=nItm.Times;cTimes=nItm.Closed;break;}}
if(oTimes==null){var d={SiteId:siteId,Times:[],Closed:[]}
siteOpenTimesCol.push(d);oTimes=d.Times;cTimes=d.Closed;}
collectionOpenTimes=oTimes;closedTimes=cTimes;if(collectionOpenTimes.length<=monthOffset){collectionOpenTimes.length=monthOffset;closedTimes.length=monthOffset;}
collectionOpenTimes[monthOffset]=new Array(31);closedTimes[monthOffset]=new Array(31);for(var i=0;i<timeData.length;i++){collectionOpenTimes[monthOffset][timeData[i].DayOfMonth]=timeData[i].OpenHours;closedTimes[monthOffset][timeData[i].DayOfMonth]=timeData[i].OpenTimes;}}
function AddDeliveryOpenTimes(year,month,timeData,siteId){var monthOffset=GetMonthOffset(year,month);var oTimes=null;var cTimes=null;for(var i=0;i<siteOpenTimesDel.length;i++){var nItm=siteOpenTimesDel[i];if((nItm.SiteId==null&&siteId==null)||(nItm.SiteId==siteId)){oTimes=nItm.Times;cTimes=nItm.Closed;break;}}
if(oTimes==null){var d={SiteId:siteId,Times:[],Closed:[]}
siteOpenTimesDel.push(d);oTimes=d.Times;cTimes=d.Closed;}
deliveryOpenTimes=oTimes;closedTimes=cTimes;if(deliveryOpenTimes.length<=monthOffset){deliveryOpenTimes.length=monthOffset;closedTimes.length=monthOffset;}
deliveryOpenTimes[monthOffset]=new Array(31);closedTimes[monthOffset]=new Array(31);for(var i=0;i<timeData.length;i++){deliveryOpenTimes[monthOffset][timeData[i].DayOfMonth]=timeData[i].OpenHours;closedTimes[monthOffset][timeData[i].DayOfMonth]=timeData[i].OpenTimes;}}
function IsDateValid(nDate,opentimes){var out=false;if(IsDataAvailable(nDate.getFullYear(),nDate.getMonth()+1,opentimes)){var monthOffset=GetMonthOffset(nDate.getFullYear(),nDate.getMonth()+1);var n=opentimes[monthOffset][nDate.getDate()];if(n!=null&&n.length>0){out=true;}}
return out;}
function IsDataAvailable(year,month,opentimes){var monthOffset=GetMonthOffset(year,month);var out=false;if(opentimes[monthOffset]!=null){out=true;}
return out;}
function confirmOpenTime(monthOffset,nDate,nTime){if(closedTimes[monthOffset][nDate].indexOf(nTime)==-1){return true;}else{return false;}}
function lookupPostcode(){var pc=$widget.find('.typeDelivery .delform .tbPC').val().replace(/^\s+|\s+$/g,'');if(pc!=''){selPC='';var theURL=apiURL+'init/pc.ashx?pc='+encodeURIComponent(pc);sJQ.ajax({url:theURL,jsonp:"callback",dataType:"jsonp"}).then(function(data){if(data.LocNotPrecise){delMsg='Please enter a more precise address';$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();$widget.find('.typeDelivery .delform .dvPCError').html(delMsg);$widget.find('.typeDelivery .delform .dvPCError').slideDown('fast');}
else{if(data.Accepted){delSiteId=data.SiteId;selPC=pc;ApplyTimesForSite(data.SiteId);var $ddl=$widget.find('.typeDelivery .delform .ddlDelDate');SetDates($ddl,deliveryOpenTimes);$widget.find('.typeDelivery .delform .dtselection').slideDown();$widget.find('.typeDelivery .delform .dvPCError').slideUp('fast');}else{$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();$widget.find('.typeDelivery .delform .dvPCError').html(delMsg);$widget.find('.typeDelivery .delform .dvPCError').slideDown('fast');}}}).fail(function(){$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();$widget.find('.typeDelivery .delform .dvPCError').html(delMsg);$widget.find('.typeDelivery .delform .dvPCError').slideDown('fast');});}else{selPC='';$widget.find('.typeDelivery .delform .dtselection').slideUp();$widget.find('.typeDelivery .delform .btn-line').slideUp();$widget.find('.typeDelivery .delform .dvPCError').html(delMsg);$widget.find('.typeDelivery .delform .dvPCError').slideDown('fast');}}
function validateCollection(){var out=true;$widget.find('.typeCollection .invalid').removeClass('invalid');if(wdata.SiteList.length>0){var nSite=$widget.find('.typeCollection .ddlColSite').val();if(!nSite||nSite==''){out=false;$widget.find('.typeCollection .ddlColSite').addClass('invalid');}}
var nDt=$widget.find('.typeCollection .ddlColDate').val();if(!nDt||nDt==''){out=false;$widget.find('.typeCollection .ddlColDate').addClass('invalid');}
var nTime=$widget.find('.typeCollection .ddlColTime').val();if(!nTime||nTime==''){out=false;$widget.find('.typeCollection .ddlColTime').addClass('invalid');}
return out;}
function validateDelivery(){var out=true;$widget.find('.typeDelivery .invalid').removeClass('invalid');if(wdata.DelZoneList.length>0){var nSite=$widget.find('.typeDelivery .ddlDelLoc').val();if(!nSite||nSite==''){out=false;$widget.find('.typeDelivery .ddlDelLoc').addClass('invalid');}}else{if(selPC==''){out=false;$widget.find('.typeDelivery .tbPC').addClass('invalid');}}
var nDt=$widget.find('.typeDelivery .ddlDelDate').val();if(!nDt||nDt==''){out=false;$widget.find('.typeDelivery .ddlDelDate').addClass('invalid');}
var nTime=$widget.find('.typeDelivery .ddlDelTime').val();if(!nTime||nTime==''){out=false;$widget.find('.typeDelivery .ddlDelTime').addClass('invalid');}
return out;}
function selectDelivery(){isDelivery=true;if(!$widget.find('.typeDelivery').hasClass('selected')){$widget.find('.typeDelivery').removeClass('selectable').removeClass('inactive').addClass('selected');deseletCollection(true);$widget.find('.typeDelivery .ddlDelLoc').change();$widget.find('.typeDelivery .delform').slideDown('fast');}}
function selectCollection(){isDelivery=false;if(!$widget.find('.typeCollection').hasClass('selected')){$widget.find('.typeCollection').removeClass('selectable').removeClass('inactive').addClass('selected');deseletDelivery(true);$widget.find('.typeCollection .ddlColSite').change();$widget.find('.typeCollection .colform').slideDown('fast');}}
function deseletDelivery(goInactive){$widget.find('.typeDelivery').removeClass('selected');if(goInactive){$widget.find('.typeDelivery').addClass('inactive');}else{$widget.find('.typeDelivery').addClass('selectable')}
$widget.find('.typeDelivery .delform').slideUp('fast');}
function deseletCollection(goInactive){$widget.find('.typeCollection').removeClass('selected');if(goInactive){$widget.find('.typeCollection').addClass('inactive');}else{$widget.find('.typeCollection').addClass('selectable')}
$widget.find('.typeCollection .colform').slideUp('fast');}
function BindDateTime($ddlDate,$ddlTime){$ddlDate.on('change',function(){var dtStr=sJQ(this).val();var dt=null;if(dtStr&&dtStr!=''){dt=dtHelp.dateFromUTCString(dtStr);LookupTimeslots($ddlTime,dtStr);$widget.find('.typeCollection .colform .btn-line').slideDown();}});}
function SetDates($ddlDate,opentimes){var curVal=$ddlDate.val();var curDt=GetBranchDate();var endDt=GetBranchDate();endDt.setMonth(endDt.getMonth()+wdata.MonthsToLoad);$ddlDate.empty();while(curDt<endDt){if(IsDateValid(curDt,opentimes)){var opt=sJQ('<option></option>').attr('value',dtHelp.dateToISOString(curDt)).html(dtHelp.dateToString(wdata.DaysOfWeek,curDt,true,wdata.DateFormat));$ddlDate.append(opt);}
curDt.setDate(curDt.getDate()+1);}
$ddlDate.val(curVal);$ddlDate.change();doCallback('datesUpdate',widgtId,{DateDDL:$ddlDate});}
function LookupTimeslots($ddlTime,delDate){$ddlTime.prop("disabled",true);$ddlTime.empty();$ddlTime.append('<option value="">Loading...</option>');var theURL=apiURL+'init/timeslot.ashx?date='+encodeURIComponent(delDate)+'&branchID='+encodeURIComponent(branchID)+'&siteID='+encodeURIComponent(delSiteId)+'&isDelivery='+encodeURIComponent(isDelivery);sJQ.ajax({url:theURL,jsonp:"callback",dataType:"jsonp"}).then(function(data){if(data){$ddlTime.empty();for(var j=0;j<=data.length-1;j++){if(data[j].CanOrder&&(!isDelivery||(isDelivery&&data[j].CanDeliver))){$ddlTime.append('<option value="'+data[j].TimeSlotRaw+'">'+data[j].TimeSlotDisplay+'</option>');}
if($ddlTime.val()===''){$widget.find('.typeDelivery .delform .btn-line').slideUp();}else{$widget.find('.typeDelivery .delform .btn-line').slideDown();}}
$ddlTime.prop("disabled",false);doCallback('timesUpdate',widgtId,{TimeDDL:$ddlTime});}}).fail(function(){console.log('Failed to load timeslots');});}}});}}
var gAuto={HasScript:false,componentForm:{street_number:'short_name',route:'long_name',locality:'long_name',administrative_area_level_1:'short_name',country:'long_name',postal_code:'long_name',postal_town:'long_name'},initAutocomplete:function(){console.log('got init');sJQ('.deltype .tbPC.hasAuto').each(function(){var $this=sJQ(this);var autocomplete=new google.maps.places.Autocomplete((document.getElementById($this[0].id)),{types:['geocode'],fields:["name","geometry.location","place_id","formatted_address"]});autocomplete.addListener('place_changed',function(){var place=autocomplete.getPlace();$this.val(place.formatted_address);});});}}