var $Quivers = $Quivers || {}; 
(function(){$Quivers.Addresses={Details:function(addressId){if(window[this.MarketplaceId].CurrentView=="Checkout"){if(window[this.MarketplaceId].Checkout.StatePosition==3)
var context="Shipping";else if(window[this.MarketplaceId].Checkout.StatePosition==4)
var context="Billing";}
else
context="Account";new QuiversAddressForm(window[this.MarketplaceId],typeof context!="undefined"||context==null?context:"Account",true,addressId);},Pick:function(addressId,context){var addressBlocks=$Quivers.Dom.Get('.qAddressBlock[data-picker="true"]');var btn=$Quivers.Dom.Get('.qAddressPickButton[data-address="'+addressId+'"][data-context="'+context+'"]')[0];if(btn.getAttribute('data-selected')=="false"){for(var i=0;i<addressBlocks.length;i++){if(typeof addressBlocks[i]!=="function"){if(addressBlocks[i].getAttribute("data-context")==context){if(addressBlocks[i].getAttribute("data-address")==addressId&&addressBlocks[i].className!="qAddressBlock active"){addressBlocks[i].className="qAddressBlock active";if(context=="Shipping")
window[this.MarketplaceId].Checkout.SelectShippingAddress(addressId);else if(context=="Billing")
window[this.MarketplaceId].Checkout.SelectBillingAddress(addressId);}
else if(addressBlocks[i].className=="qAddressBlock active"){addressBlocks[i].className="qAddressBlock";if(context=="Shipping")
window[this.MarketplaceId].Checkout.SelectShippingAddress(null);else if(context=="Billing")
window[this.MarketplaceId].Checkout.SelectBillingAddress(null);}
else
addressBlocks[i].className="qAddressBlock";}}}}
if($Quivers.Dom.Get('.qAddressBlock.active').length==0&&document.getElementById("qNewAddressButton"))
window[this.MarketplaceId].Addresses.Details("New");},Delete:function(addressId){var elements=document.getElementById("q-address-"+addressId);var context="";for(var i=0;i<elements.length;i++){if(typeof elements[i]!=="function"){if(elements[i].getAttribute("name")=="Context"){context=elements[i].value;}}}
var btns=$Quivers.Dom.Get('[data-delete-address="'+addressId+'"]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","true");btns[i].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/deleteAddress",{AddressId:addressId,Context:context},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var element=document.getElementById('qAddresses-Panel');element.innerHTML=data.Result.Html;}
else{$Quivers.Dom.CreateAlert("qaddress-"+data.Result.Data.AddressId+"Alerts","danger",data.Result.Html);}
$Quivers.Dom.CloseDialog();for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}});}};$Quivers["/api/v1/user/createAddress"]={beforeSend:function(xhr,curl){if(typeof curl!="undefined")
var data=JSON.parse(curl.data);else
var data=xhr.Data;var btns=$Quivers.Dom.Get('[data-create-address]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","true");btns[i].setAttribute("disabled","true");}}
return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.CloseDialog();if(data.Result.Data.Context=="Shipping"){var element=document.getElementById('qAddresses-Panel');if(element){element.innerHTML=data.Result.Html;var btns=$Quivers.Dom.Get('[data-create-address]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}}
$Quivers.Dom.LevelElements("qHeightRow");}
if(data.Result.Data.Context=="Shipping")
window[data.Result.Marketplace].Addresses.Pick(data.Result.Data.AddressInfo.Id,data.Result.Data.Context);else if(data.Result.Data.Context=="Billing")
window[data.Result.Marketplace].Checkout.SelectBillingAddress(data.Result.Data.AddressInfo.Id);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);$Quivers.Dom.CloseDialog();var btns=$Quivers.Dom.Get('[data-create-address]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
$Quivers.Dom.CreateAlert("qcreateAddressAlerts","danger",data.Result.Html);}}
$Quivers["/api/v1/user/updateAddress"]={beforeSend:function(xhr,curl){if(typeof curl!="undefined")
var data=JSON.parse(curl.data);else
var data=xhr.Data;var btns=$Quivers.Dom.Get('[data-update-address="'+data.Id+'"]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","true");btns[i].setAttribute("disabled","true");}}
return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.CloseDialog();if(data.Result.Data.Context=="Shipping"){var element=document.getElementById('qAddresses-Panel');if(element){element.innerHTML=data.Result.Html;}
$Quivers.Dom.LevelElements("qHeightRow");}
if(data.Result.Data.Context=="Shipping"){if(window[data.Result.Marketplace].Checkout.ShippingAddress==null||window[data.Result.Marketplace].Checkout.ShippingAddress.Id!=data.Result.Data.Id)
window[data.Result.Marketplace].Addresses.Pick(data.Result.Data.Id,data.Result.Data.Context);else
window[data.Result.Marketplace].Checkout.SelectShippingAddress(data.Result.Data.Id);}
else if(data.Result.Data.Context=="Billing")
window[data.Result.Marketplace].Checkout.SelectBillingAddress(data.Result.Data.Id);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);$Quivers.Dom.CloseDialog();var btns=$Quivers.Dom.Get('[data-update-address="'+data.Result.Data.Id+'"]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
$Quivers.Dom.CreateAlert("qaddress-"+data.Result.Data.Id+"Alerts","danger",data.Result.Html);}}
$Quivers["/api/v1/user/setAddress"]={beforeSend:function(xhr,curl){if(typeof curl!="undefined")
var data=JSON.parse(curl.data);else
var data=xhr.Data;var btns=$Quivers.Dom.Get('[data-set-address]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","true");btns[i].setAttribute("disabled","true");}}
return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);var element=document.getElementById('qAddresses-Panel');if(element){element.innerHTML=data.Result.Data.SaveAddressOp.Html;}
if(data.Result.Data.SetAddressOp.Data!==null&&data.Result.Data.SetAddressOp.HasOnlyInstorePickupItems!==false)
window[data.Result.Marketplace].Checkout.SetShippingAddress({Result:data.Result.Data.SetAddressOp});else{console.log('forcing ispu')
window[data.Result.Marketplace].Checkout.SelectDeliveryMethod("Instore Pickup");window[data.Result.Marketplace].Checkout.NextState();}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var btns=$Quivers.Dom.Get('[data-set-address]');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
if(typeof data.Result.Data.SaveAddressOp.Error!=="undefined"){$Quivers.Dom.TriggerError("Invalid Postal Code",data.Result.Data.SaveAddressOp.Html);var inputs=$Quivers.Dom.Get('[data-inputs="setAddress-ZipPostalCode"]');for(var i=0;i<inputs.length;i++){inputs[i].className="form-group has-error";inputs[i].focus();}
return false;}
var op=data.Result.Data.SetAddressOp;if(op.Data.HasAvailableItems==false){window[data.Result.Marketplace].Checkout.ShippingAddress=null;}
if(op.Data.ShoppingLimitsExceeded==true)
var msg=window[data.Result.Marketplace].$("CantShipShoppingLimits","checkout")
else if(op.Data.Address.StateProvince!="Other")
var msg=window[data.Result.Marketplace].$("CantShipToMessage1","checkout")+op.Data.Address.StateProvince+", "+op.Data.Address.Country+window[data.Result.Marketplace].$("CantShipToMessage2","checkout");else
var msg=window[data.Result.Marketplace].$("CantShipToMessage1","checkout")+op.Data.Address.Country+window[data.Result.Marketplace].$("CantShipToMessage2","checkout");$Quivers.Dom.TriggerError("Cannot Proceed",msg);document.getElementById("qAddressUI").setAttribute("data-validation","bad");}}
QuiversAddressForm=function(client,context,isDialog,addressId){this.Client=client;this.AutoComplete=null;this.GoogleLoaded=(typeof google!="undefined");var self=this;if(typeof Quivers.AddressDialog=="undefined")
Quivers.AddressDialog=self;if(typeof isDialog=="undefined")
var isDialog=true;var createPicker=function(){this.GoogleLoaded=true;}
var initiateGoogle=function(){var isGooglePlacesLoaded=setInterval(function(){if(self.GoogleLoaded==true){clearInterval(isGooglePlacesLoaded);self.InputElement=document.getElementById("qGooglePlacesAddressPicker"+(isDialog==true?"Dialog":""));self.GooglePlaceSearch();}},300)}
if(isDialog==false){self.FormElement="setAddress"
initiateGoogle();}
else{if(typeof addressId!=="undefined"&&addressId!==null)
var url="module?Module=addressDialog&Context="+context+"&Address="+addressId;else
var url="module?Module=addressDialog&Context="+context;self.Client.Get(url,function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.TriggerDialog(data.Result.Data.Title,data.Result.Html,"large");self.FormElement=data.Result.Data.Form;initiateGoogle();});}}
QuiversAddressForm.prototype.GooglePlaceSearch=function(){var self=this;if(self.InputElement!==null){if(self.FormElement=="setAddress")
document.getElementById('qCheckoutShippingEmailAddress').focus();else
self.InputElement.focus();self.AutoComplete=new google.maps.places.Autocomplete(self.InputElement,{types:['geocode']});self.AutoComplete.addListener('place_changed',function(){var place=self.AutoComplete.getPlace();var inputs=$Quivers.Dom.Get('input[data-form="'+self.FormElement+'"]');var selects=$Quivers.Dom.Get('select[data-form="'+self.FormElement+'"]');if(typeof place.address_components!=="undefined"){for(var i=0;i<inputs.length;i++){try{switch(inputs[i].name){case"Address1":inputs[i].value=place.name.toUpperCase();break;case"Address2":inputs[i].value="";break;case"City":{var foundLocality=false;try{for(var a=0;a<place.address_components.length;a++){if(place.address_components[a].types.indexOf('locality')!==-1){inputs[i].value=place.address_components[a].long_name||place.address_components[a].short_name;foundLocality=true;}}}catch(err){console.warn(err)}
if(!foundLocality)
inputs[i].value=place.vicinity.toUpperCase();break;}
case"ZipPostalCode":{for(var c=0;c<place.address_components.length;c++){if(place.address_components[c].types.indexOf("postal_code")>-1)
inputs[i].value=place.address_components[c].long_name;}
break;}}}
catch(err){console.warn(err);}}
for(var s=0;s<selects.length;s++){switch(selects[s].name){case"CountryId":{try{for(var c=0;c<place.address_components.length;c++){if(place.address_components[c].types.indexOf("country")>-1){for(var o=0;o<selects[s].options.length;o++){if(selects[s].options[o].innerHTML==place.address_components[c].long_name||selects[s].options[o].getAttribute("data-abrv")==place.address_components[c].short_name){selects[s].selectedIndex=o;var countrySelect=selects[s];$Quivers.Dom.ToggleStates(selects[s].getAttribute("data-id"),{target:selects[s]});}}}}}
catch(err){console.warn(err);}
break;}
case"PhonePrefix":{try{for(var c=0;c<place.address_components.length;c++){if(place.address_components[c].types.indexOf("country")>-1){for(var o=0;o<selects[s].options.length;o++){var callingCodeCountries=selects[s].options[o].getAttribute("data-countries").split(",");if(callingCodeCountries.indexOf(place.address_components[c].short_name)>-1){selects[s].selectedIndex=o;}}}}}
catch(err){console.warn(err);}
break;}
case"StateProvinceId":{try{var selectedCountryId=countrySelect?countrySelect.options[countrySelect.selectedIndex].value:null;for(var c=0;c<place.address_components.length;c++){for(var t=0;t<place.address_components[c].types.length;t++){if(place.address_components[c].types[t].indexOf("administrative_area_level")>-1){for(var o=0;o<selects[s].options.length;o++){if(selectedCountryId&&selects[s].options[o].getAttribute("data-country")!=selectedCountryId)
continue;if(selects[s].options[o].innerHTML.indexOf(place.address_components[c].long_name)>-1){selects[s].selectedIndex=o;}}}}}}
catch(err){console.warn(err);}
break;}}}
self.Validate(self.FormElement);}});}
var inputs=$Quivers.Dom.Get('input[data-form="'+self.FormElement+'"]');var selects=$Quivers.Dom.Get('select[data-form="'+self.FormElement+'"]');for(var i=0;i<inputs.length;i++){inputs[i].addEventListener('change',function(){self.Validate(self.FormElement);});}
for(var s=0;s<selects.length;s++){selects[s].addEventListener('change',function(){self.Validate(self.FormElement);});}
var qZipField=$Quivers.Dom.Get('input[name="ZipPostalCode"][data-form="'+self.FormElement+'"]')[0];var qStateField=$Quivers.Dom.Get('select[name="StateProvinceId"][data-form="'+self.FormElement+'"]')[0];var qCountryField=$Quivers.Dom.Get('select[name="CountryId"][data-form="'+self.FormElement+'"]')[0];if(qZipField){qZipField.addEventListener('blur',function(){self.ValidateLocation(self.FormElement);});qZipField.addEventListener('keydown',function(evt){if(evt.keyCode==13)self.ValidateLocation(self.FormElement);});qZipField.addEventListener('input',function(){var z=qZipField.value.trim();if(/^\d{5}(?:-\d{4})?$/.test(z)&&typeof google!="undefined"&&google.maps&&google.maps.places)
self.ResolveZip(z,function(){});});}
if(qStateField)qStateField.addEventListener('change',function(){self.ValidateLocation(self.FormElement);});if(qCountryField)qCountryField.addEventListener('change',function(){self.ValidateLocation(self.FormElement);});var zipCodes=$Quivers.Dom.Get('input[name="ZipPostalCode"][data-form="'+self.FormElement+'"]');for(var i=0;i<zipCodes.length;i++){zipCodes[i].addEventListener("keypress",function(evt){var countrySelect=$Quivers.Dom.Get('select[name="CountryId"][data-form="'+evt.target.getAttribute("data-form")+'"]')[0];if(countrySelect.options[countrySelect.selectedIndex].value==1){var charCode=(evt.which)?evt.which:event.keyCode;if(charCode!=46&&charCode!=45&&charCode>31&&(charCode<48||charCode>57)){evt.preventDefault();return false;}}
return true;});}}
QuiversAddressForm.prototype.Validate=function(form){try{var inputs=$Quivers.Dom.Get('input[data-form="'+form+'"]');var selects=$Quivers.Dom.Get('select[data-form="'+form+'"]');var formGroups=$Quivers.Dom.Get('div[data-inputs]');}
catch(err){console.warn(err);var inputs=[];var selects=[];var formGroups=[]}
var validated=true;var focused=false;for(var i=0;i<inputs.length;i++){if(inputs[i].getAttribute('data-required')=="true"&&inputs[i].value==""||(inputs[i].type=="email"&&inputs[i].value.indexOf("@")==-1)||(inputs[i].name=="PhoneBody"&&inputs[i].value.length<7)||(inputs[i].type=="checkbox"&&inputs[i].checked==false)){var className="form-group has-error";if(focused==false){inputs[i].focus();focused=true;}
validated=false;}
else
var className="form-group has-success";for(var g=0;g<formGroups.length;g++){if(formGroups[g].getAttribute('data-inputs').indexOf(form+"-"+inputs[i].name)>-1){formGroups[g].className=className;}}}
for(var i=0;i<selects.length;i++){var className="form-group";if(selects[i].getAttribute('data-required')=="true"&&selects[i].options[selects[i].selectedIndex].value=="RESELECT"){className+=" has-error";if(focused==false){selects[i].focus();focused=true;}
validated=false;}
else
className+=" has-success";for(var g=0;g<formGroups.length;g++){if(formGroups[g].getAttribute('data-inputs').indexOf(form+"-"+selects[i].name)>-1)
formGroups[g].className=className;}}
try{var badLocation=$Quivers.Dom.Get('[data-location-valid="false"][data-form="'+form+'"]');if(badLocation.length>0){if(focused==false){badLocation[0].focus();focused=true;}
validated=false;for(var b=0;b<badLocation.length;b++){for(var g=0;g<formGroups.length;g++){if(formGroups[g].getAttribute('data-inputs').indexOf(form+"-"+badLocation[b].name)>-1)
formGroups[g].className="form-group has-error";}}}}
catch(err){console.warn(err);}
return validated;}
QuiversAddressForm.prototype.ValidateLocation=function(form){var self=this;var country=$Quivers.Dom.Get('select[name="CountryId"][data-form="'+form+'"]')[0];var state=$Quivers.Dom.Get('select[name="StateProvinceId"][data-form="'+form+'"]')[0];var zipInput=$Quivers.Dom.Get('input[name="ZipPostalCode"][data-form="'+form+'"]')[0];if(!country||!state||!zipInput)
return;var clearValidation=function(){zipInput.setAttribute("data-location-valid","true");self.SetFieldMessage(zipInput,null);};if(country.options[country.selectedIndex].value!=1){clearValidation();return;}
var zip=zipInput.value.trim();var stateOption=state.options[state.selectedIndex];var selectedAbbr=stateOption?stateOption.getAttribute("data-abrv"):null;if(zip==""){clearValidation();return;}
if(!/^\d{5}(?:-\d{4})?$/.test(zip)){self.ApplyLocationValidation(form,{ZipValid:false,Invalid:true,Zip:zip});return;}
if(stateOption.value=="RESELECT"||stateOption.value==""||!selectedAbbr){clearValidation();return;}
if(typeof google=="undefined"||!google.maps||!google.maps.places){clearValidation();return;}
self.SetFieldMessage(zipInput,null);if(!self.ZipCache.hasOwnProperty(zip.split("-")[0]))
zipInput.setAttribute("data-location-valid","false");self.ResolveZip(zip,function(result){if(result===null){clearValidation();return;}
if(result===false){self.ApplyLocationValidation(form,{ZipValid:false,Invalid:true,Zip:zip});return;}
self.ApplyLocationValidation(form,{ZipValid:(result==selectedAbbr),StateName:(stateOption.text||"").replace(/\s*\([A-Za-z]{2}\)\s*$/,"").trim(),Zip:zip});});}
QuiversAddressForm.prototype.ApplyLocationValidation=function(form,r){var zipInput=$Quivers.Dom.Get('input[name="ZipPostalCode"][data-form="'+form+'"]')[0];if(!zipInput)return;zipInput.setAttribute("data-location-valid",r.ZipValid?"true":"false");if(!r.ZipValid){$Quivers.Dom.ToggleValidation(zipInput,"error");var msg;if(r.Invalid)
msg=this.Client.$("ZipCodeNotFound","addresses").replace("%s",r.Zip);else
msg=this.Client.$("InvalidZipCode","addresses").replace("%s",r.Zip).replace("%s",r.StateName);this.SetFieldMessage(zipInput,msg);}
else{$Quivers.Dom.ToggleValidation(zipInput,"success");this.SetFieldMessage(zipInput,null);}}
QuiversAddressForm.prototype.ZipCache={};QuiversAddressForm.prototype.ResolveZip=function(zip,callback){var self=this;zip=String(zip).split("-")[0];if(self.ZipCache.hasOwnProperty(zip)){callback(self.ZipCache[zip]);return;}
try{var autocomplete=new google.maps.places.AutocompleteService();autocomplete.getPlacePredictions({input:zip,componentRestrictions:{country:["us","pr","vi","gu","mp"]},types:["(regions)"]},function(predictions,status){if(status==google.maps.places.PlacesServiceStatus.ZERO_RESULTS){self.ZipCache[zip]=false;callback(false);return;}
if(status!=google.maps.places.PlacesServiceStatus.OK||!predictions||!predictions.length){callback(null);return;}
var pick=null;for(var i=0;i<predictions.length;i++){if(predictions[i].types&&predictions[i].types.indexOf("postal_code")>-1){pick=predictions[i];break;}}
if(!pick){self.ZipCache[zip]=false;callback(false);return;}
var details=new google.maps.places.PlacesService(document.createElement("div"));details.getDetails({placeId:pick.place_id,fields:["address_components"]},function(place,dstatus){if(dstatus!=google.maps.places.PlacesServiceStatus.OK||!place||!place.address_components){callback(null);return;}
var stateAbbr=null,countryAbbr=null,resolvedZip=null;for(var c=0;c<place.address_components.length;c++){var comp=place.address_components[c];if(comp.types.indexOf("administrative_area_level_1")>-1)stateAbbr=comp.short_name;if(comp.types.indexOf("country")>-1)countryAbbr=comp.short_name;if(comp.types.indexOf("postal_code")>-1)resolvedZip=comp.long_name;}
if(countryAbbr&&countryAbbr!="US")stateAbbr=countryAbbr;if(resolvedZip&&resolvedZip.split("-")[0]!=zip){self.ZipCache[zip]=false;callback(false);return;}
if(!stateAbbr){callback(null);return;}
self.ZipCache[zip]=stateAbbr;callback(stateAbbr);});});}
catch(err){console.warn(err);callback(null);}}
QuiversAddressForm.prototype.SetFieldMessage=function(input,message){var group=input.parentNode;var formGroup=(group&&group.className&&group.className.indexOf("input-group")>-1)?group.parentNode:group;var id="qLocationMsg-"+input.name+"-"+(input.getAttribute("data-form")||"");var existing=document.getElementById(id);if(!message){if(existing&&existing.parentNode)
existing.parentNode.removeChild(existing);return;}
if(!existing){existing=document.createElement("div");existing.id=id;if(formGroup)
formGroup.appendChild(existing);}
existing.className="help-block text-danger";existing.innerHTML=message;}
$Quivers.Analytics={AccountCodes:{}};$Quivers.Analytics.Initialize=function(trackingCodes){var self=this;var firstTrackingCode=null;for(var i=0;i<trackingCodes.length;i++){if(typeof trackingCodes[i]!=="function"){self.AccountCodes["Account"+i]=trackingCodes[i];if(!firstTrackingCode)
firstTrackingCode=trackingCodes[i];}}
var configureAccounts=function(){window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}
window.gtag=window.gtag||gtag;gtag('js',new Date())
for(var i in self.AccountCodes){if(self.AccountCodes[i]!=null){$Quivers.Utilities.Debug("Adding GA Account '"+self.AccountCodes[i]+"'.");var config={debug_mode:true};try{if(window[self.MarketplaceId].Settings.General.GoogleAnalyticsCookies===false){config.storage='none';}}catch(err){console.warn(err);}
config.user_properties={dimension1:self.MarketplaceId,dimension2:(window[self.MarketplaceId].IsPublic?"Public":"Private"),dimension3:window[self.MarketplaceId].MarketplaceOwnerRefId,dimension4:(window[self.MarketplaceId].RetailerFulfillmentPossible).toString(),};config.currency=window[self.MarketplaceId].Currency;gtag('config',self.AccountCodes[i],config);console.log('gtag.config',self.AccountCodes[i],config);gtag('event','page_view',{page_path:window.location.pathname+$Quivers.Utilities.RemoveEmailsFromString(window.location.search),page_location:$Quivers.Utilities.RemoveEmailsFromString(window.location.href),send_to:self.AccountCodes[i]});}}};if(!document.querySelector('script[src*="www.googletagmanager.com/gtag/js"]')){const script=document.createElement('script');script.async=true;script.src='https://www.googletagmanager.com/gtag/js?id='+encodeURIComponent(firstTrackingCode);script.onload=configureAccounts;document.head.appendChild(script);}
else{configureAccounts();}}
$Quivers.Analytics.Send=function(eventName,params){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
for(var i in this.AccountCodes){var id=this.AccountCodes[i];console.log('GA EVENT',eventName,Object.assign({send_to:id},params));window.gtag('event',eventName,Object.assign({send_to:id},params||{}));}};$Quivers.Analytics.SetPage=function(pagePath,pageTitle,thenCommit){var search=$Quivers.Utilities.RemoveEmailsFromString(window.location.search);var href=$Quivers.Utilities.RemoveEmailsFromString(window.location.href);var path=pagePath||window.location.pathname+search;var title=pageTitle||document.title;window[this.MarketplaceId].Analytics.Send('page_view',{page_path:path,page_title:title,page_location:href});if(thenCommit===true){window[this.MarketplaceId].Analytics.CommitPageView();}};$Quivers.Analytics.CommitPageView=function(){window[this.MarketplaceId].Analytics.SetPage(window.location.pathname+$Quivers.Utilities.RemoveEmailsFromString(window.location.search),document.title);};$Quivers.Analytics.ImpressionHit=function(data,listName,thenCommit){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
const items=data.Products.map((p,i)=>({item_id:p.Id,item_name:p.Name,item_brand:p.BrandName,item_category:data.Container.Name,index:i+1}));window[this.MarketplaceId].Analytics.Send('view_item_list',{items:items,item_list_name:listName});if(thenCommit===true){window[this.MarketplaceId].Analytics.Send('select_item',{items:items,item_list_name:listName});}};$Quivers.Analytics.ProductHit=function(data,viewType,commitType){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
let items=[];switch(viewType){case"Standard":if(data.Product){items.push({item_id:data.Product.Id,item_name:data.Product.Name,item_brand:data.Product.BrandName,item_variant:data.Product.SelectedVariant.Name,currency:window[this.MarketplaceId].Currency});window[this.MarketplaceId].Analytics.Send('view_item',{items:items});}
break;case"CartItem":if(data.CartItem){items.push({item_id:data.CartItem.ProductId,item_name:data.CartItem.ProductName,item_brand:data.BrandName,item_variant:data.CartItem.ProductVariantName,price:data.CartItem.UnitPrice,quantity:data.QuantityAdded,currency:window[this.MarketplaceId].Currency});window[this.MarketplaceId].Analytics.Send('add_to_cart',{items:items});}
break;case"OPV":try{items.push({item_id:data.ProductId,item_name:data.ProductName,item_variant:data.ProductVariantName,item_brand:data.ManufacturerName,price:data.UnitPrice,quantity:data.Quantity,currency:window[this.MarketplaceId].Currency});if(commitType){window[this.MarketplaceId].Analytics.Send(commitType,{items:items});}else{window[this.MarketplaceId].Analytics.Send('view_item',{items:items});}}catch(err){console.warn(err);}
break;}};$Quivers.Analytics.SearchEvent=function(query,numProducts){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
window[this.MarketplaceId].Analytics.Send('view_search_results',{search_term:query,results_count:numProducts});};$Quivers.Analytics.CheckoutStep=function(step,option){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
let page;switch(step){case 1:page="ShoppingCart";break;case 2:page="CustomerInfo";break;case 3:page="ShippingMethod";break;case 4:page="PaymentMethod";break;default:page="Checkout";break;}
this.SetPage("Checkout/"+page,"Checkout/"+page);const eventParams={checkout_step:step};if(typeof option!=="undefined"){eventParams.option=option;}
window[this.MarketplaceId].Analytics.Send('begin_checkout',eventParams);$Quivers.Utilities.Debug("Submitted GA4 Checkout Step "+step+" => "+page+"!");if(step!==1){this.CommitPageView();}};$Quivers.Analytics.Purchase=function(order){if(!window.gtag){console.warn("Google Analytics is not ready yet.");return;}
this.SetPage("Confirmation","Confirmation");const hc=window[this.MarketplaceId];const opvs=[];for(let i=0;i<order.OrderProductVariants.length;i++){let variant=order.OrderProductVariants[i];let uniqKey=btoa(variant.ProductVariantName+JSON.stringify(variant.SelectedProductOptions||{}));let existing=opvs.find(v=>v.uniq===uniqKey);if(existing){existing.Quantity+=variant.Quantity||1;}else{variant.uniq=uniqKey;opvs.push(variant);}}
const items=opvs.map(p=>({item_id:p.ProductId||p.Id,item_name:p.ProductName||p.Name,item_variant:p.ProductVariantName||(p.SelectedVariant&&p.SelectedVariant.Name),item_brand:p.ManufacturerName||p.BrandName,price:p.UnitPrice||0,quantity:p.Quantity||1,currency:hc.Currency}));window[this.MarketplaceId].Analytics.Send('purchase',{transaction_id:order.OrderRefId,affiliation:order.BrandName,value:Number(order.OrderTotal),tax:order.OrderTax||order.TaxAmount,shipping:order.ShippingFee,currency:hc.Currency,items:items});this.CommitPageView();try{if(hc.Settings.Checkout.AdwordsConversionId&&hc.Settings.Checkout.AdwordsConversionLabel){const conversion_id=hc.Settings.Checkout.AdwordsConversionId;const conversion_label=hc.Settings.Checkout.AdwordsConversionLabel;const pixel=document.createElement('img');pixel.src='https://www.googleadservices.com/pagead/conversion/'+conversion_id+'/?label='+conversion_label+'&guid=ON&script=0';pixel.width=1;pixel.height=1;pixel.style.border='none';pixel.alt='';document.body.appendChild(pixel);}}catch(err){console.warn(err);}};$Quivers["/api/v1/app"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].CloudHub=data.Result.Data.CloudHub;window[data.Result.Marketplace].Currency=data.Result.Data.Currency;window[data.Result.Marketplace].Settings.Apply(data.Result.Data.Settings);window[data.Result.Marketplace].Languages[data.Result.Data.Language._id]=data.Result.Data.Language;window[data.Result.Marketplace].GA_TrackingCodes=data.Result.Data.GA_TrackingCodes;window[data.Result.Marketplace].IsPublic=data.Result.Data.IsPublic;window[data.Result.Marketplace].MarketplaceOwnerRefId=data.Result.Data.BusinessRefId;window[data.Result.Marketplace].Countries=data.Result.Data.Countries;window[data.Result.Marketplace].RetailerFulfillmentPossible=data.Result.Data.RetailerFulfillmentPossible;window[data.Result.Marketplace].Settings.Application.UseLocalCache=false;var checkCssHasLoaded=setInterval(function(){if(typeof window[data.Result.Marketplace].CssLoaded!=="undefined"&&window[data.Result.Marketplace].CssLoaded==true){clearInterval(checkCssHasLoaded);if(document.getElementById("QuiversHoverCart")==null){var quivers=document.createElement("div");quivers.id="QuiversHoverCart";quivers.setAttribute("style","display: none;");}
else
var quivers=document.getElementById("QuiversHoverCart");quivers.setAttribute("quivers-bootstrap","true");quivers.innerHTML=data.Result.Html;if(document.getElementById("QuiversHoverCart")==null)
document.body.appendChild(quivers);quivers.setAttribute("style","");window.addEventListener("resize",function(){$Quivers.Dom.ResizeDialog();});if(window[data.Result.Marketplace].Settings.Ribbon.Automatic===true||typeof window[data.Result.Marketplace].IgnoreRibbonAutomatic!=="undefined"){window[data.Result.Marketplace].Get("ribbon");}
var iframe=document.getElementById("PhpSess");if(iframe)
iframe=null;if(document.characterSet!="UTF-8"){var utf8fix='<style type="text/css">';utf8fix+="#currentView .qProductsUI .qProductDetails .qProductOverview .qShortDescription:before, [quivers-view=\"true\"] .qProductsUI .qProductDetails .qProductOverview .qShortDescription:before {content: '\"';}";utf8fix+="#currentView .qProductsUI .qProductDetails .qProductOverview .qShortDescription:before, [quivers-view=\"true\"] .qProductsUI .qProductDetails .qProductOverview .qShortDescription:after {content: '\"';}";utf8fix+='</style>';quivers.innerHTML+=utf8fix;}}});if(typeof window[data.Result.Marketplace].Settings.Extensions.CriteoTracking!=="undefined"){window[data.Result.Marketplace].Criteo.Activate(window[data.Result.Marketplace].Settings.Extensions.CriteoTracking);if(data.Result.Data.Md5Email!==null)
window[data.Result.Marketplace].Criteo.SetEmail(data.Result.Data.UserEmail,data.Result.Data.Md5Email);}
else
window[data.Result.Marketplace].Criteo.Enabled=false;if(typeof window[data.Result.Marketplace].Settings.Extensions.ShopEmployee!=="undefined"&&window[data.Result.Marketplace].Settings.Extensions.ShopEmployee.Enabled==true){window[data.Result.Marketplace].ShopEmployee=ShopEmployeeExtension;window[data.Result.Marketplace].ShopEmployee.MarketplaceId=data.Result.Marketplace;}
if(typeof window[data.Result.Marketplace].Settings.Extensions.Boomerang!=="undefined"&&window[data.Result.Marketplace].Settings.Extensions.Boomerang.Enabled==true){window[data.Result.Marketplace].Boomerang=BoomerangExtension;window[data.Result.Marketplace].Boomerang.MarketplaceId=data.Result.Marketplace;}},error:function(data){data=$Quivers.Utilities.FormatResult(data);throw"Error: The HoverCart could not be loaded; "+data.Result.Data.Error;if(data.Result.Data.Error=="Could not unpackage HoverCart application."){var settings=window[data.Result.Data.Marketplace].Settings;settings.Origin=document.domain;settings.CurrentUrl=window.location.href;settings.PointOfSaleBusiness=window[data.Result.Data.Marketplace].PointOfSaleBusiness;settings.HoverCartId=window[data.Result.Data.Marketplace].Id;window[data.Result.Data.Marketplace].Post("app",settings);}
else{if(typeof window[data.Result.Data.Marketplace].OnStart=="function")
window[data.Result.Data.Marketplace].OnStart({Error:data});}}}
$Quivers["/api/v1/ribbon"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);var ribbonId=window[data.Result.Marketplace].Settings.Ribbon.DisplayElement;if(typeof window[data.Result.Marketplace].OnStart=="function")
window[data.Result.Marketplace].OnStart();var ribbon=document.getElementById(ribbonId);if(!ribbon){window[data.Result.Marketplace].Settings.Ribbon.DisplayElement="QuiversRibbon";ribbonId="QuiversRibbon";var ribbon=document.getElementById("QuiversRibbon");}
window[data.Result.Marketplace].Analytics.Initialize(window[data.Result.Marketplace].GA_TrackingCodes);window[data.Result.Marketplace].Catalog.Widgets();window[data.Result.Marketplace].Catalog.Assortments();window[data.Result.Marketplace].Catalog.ReviewWidgets();window[data.Result.Marketplace].CheckForWidgets=setInterval(function(){if(document.getElementById(ribbonId)){window[data.Result.Marketplace].Catalog.Assortments();window[data.Result.Marketplace].Catalog.Widgets();window[data.Result.Marketplace].Catalog.ReviewWidgets();}
else{clearInterval(window[data.Result.Marketplace].CheckForWidgets);delete this;}},1000);if(ribbonId=="QuiversRibbon"){window[data.Result.Marketplace].Dom.ReplaceHtml(ribbon,data.Result.Html);ribbon.setAttribute("data-position",window[data.Result.Marketplace].Settings.Ribbon.Position);ribbon.setAttribute("data-style",window[data.Result.Marketplace].Settings.Ribbon.Style);if(window[data.Result.Marketplace].Settings.Ribbon.Position=="top"){ribbon.setAttribute("style","top: 0px !important");document.body.setAttribute("data-quivers","true");window[data.Result.Marketplace].SelectViewFromUrl();}
else{ribbon.setAttribute("style","right: 0px !important");window[data.Result.Marketplace].SelectViewFromUrl();setTimeout(function(){document.body.setAttribute("data-quivers","true");},300);}}
else{ribbon.innerHTML='<style type="text/css">body[data-quivers="true"] {width: inherit;}</style>';ribbon.innerHTML+=data.Result.Html;if(!ribbon.hasAttribute("data-active"))
window[data.Result.Marketplace].SelectViewFromUrl();ribbon.setAttribute("data-active","true");document.body.setAttribute("data-quivers","true");}
if(window[data.Result.Marketplace].Settings.Translation.Enabled==true){window[data.Result.Marketplace].Translation.Start();}
try{var cartCounts=$Quivers.Dom.Get("#qCartCount-Shopping");for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=data.Result.Data.ShoppingCount;var wishlistCounts=$Quivers.Dom.Get("#qCartCount-Wishlist");for(var c=0;c<wishlistCounts.length;c++)
wishlistCounts[c].innerHTML=data.Result.Data.WishlistCount;}
catch(err){console.warn(err);}},error:function(data){$Quivers.Utilities.Debug(data);}}
$Quivers["/api/v1/view"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);var view=window[data.Result.Marketplace].Settings.Pages[data.Result.Data.Name];var element=document.getElementById(view.DisplayElement);if(!element||element==null)
element=document.getElementById(window[data.Result.Marketplace].Settings.General.DefaultDisplay);if(!element)
element=document.getElementById("currentView");if(element.id!="currentView")
element.setAttribute("quivers-view","true");element.setAttribute("quivers-bootstrap","true");element.setAttribute("data-view",view.NavButton);element.setAttribute("loading","false");window[data.Result.Marketplace].Dom.ReplaceHtml(element,data.Result.Html);if(element.className.indexOf(" translate")==-1)
element.className+=" translate";document.getElementById(window[data.Result.Marketplace].Settings.Ribbon.DisplayElement).setAttribute("data-view",view.NavButton);window[data.Result.Marketplace].CurrentView=view.Name;if(view.Name=="Cart"){window[data.Result.Marketplace].Analytics.CheckoutStep(1);}
else if(view.Name=="Checkout"){window[data.Result.Marketplace].Checkout=new QuiversCheckout(window[data.Result.Marketplace],data.Result.Data.UserAuthStatus,data.Result.Data.Cart);}
if(view.Name=="Cart"||view.Name=="Checkout"){window[data.Result.Marketplace].Criteo.ViewCart(data.Result.Data.Cart);}
if(view.Name!=="Checkout"){try{window[data.Result.Marketplace].Checkout.TeardownBraintree();delete window[data.Result.Marketplace].Checkout;}
catch(err){}
try{window[data.Result.Marketplace].Checkout.TeardownBluesnap();delete window[data.Result.Marketplace].Checkout;}
catch(err){}}
var email=$Quivers.Utilities.GetQuery("email");if(email!=false)
email="&Email="+email;else
email="";var select=window[data.Result.Marketplace].GetModuleQuery();var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i]);}
if($Quivers.Utilities.GetBrowser().name=="IE"||$Quivers.Utilities.GetBrowser().name=="Edge"){var ieScrollHeightBugFix=$Quivers.Dom.Get(".view-body");if(ieScrollHeightBugFix.length>0){for(var i in ieScrollHeightBugFix){if(ieScrollHeightBugFix[i].parentNode.parentNode.id=="currentView"){if(ieScrollHeightBugFix[i].hasAttribute("style"))
ieScrollHeightBugFix[i].removeAttribute("style");ieScrollHeightBugFix[i].setAttribute("style","height: auto;");}}}}
var modules=document.getElementsByClassName("qModule");if(modules.length==0)
window[data.Result.Marketplace].Analytics.CommitPageView();for(var i=0;i<modules.length;i++){if(typeof modules[i]!=="function"){if(modules[i].id=="productsView"&&document.getElementById(window[data.Result.Marketplace].Settings.Ribbon.DisplayElement).getAttribute("data-context")=="buyProduct"&&view.NavButton!="buyProduct")
$Quivers.Utilities.Debug("Not updating the Products View Module.");else{if(select==""||!modules[i].hasAttribute("data-select")){if(!modules[i].hasAttribute('data-select')||modules[i].getAttribute("data-select")!="false"){if(modules[i].id.indexOf("productPurchaseButtons-")>-1)
var mod="productPurchaseButtons&Element="+modules[i].id+"&ProductId="+modules[i].id.split("-")[1];else if(modules[i].hasAttribute('data-module'))
var mod=modules[i].getAttribute('data-module')+"&Element="+modules[i].id;else
var mod=modules[i].id;if($Quivers.Utilities.GetQuery("RetailerRefId"))
mod+="&RetailerRefId="+$Quivers.Utilities.GetQuery("RetailerRefId");window[data.Result.Marketplace].Get("module?Module="+mod+select+email);}}
else{window[data.Result.Marketplace].SelectViewFromUrl();}}}}
$Quivers.Dom.Listeners();try{setTimeout(function(){if(element){let e=document.getElementById(element.id);if(e)
e.setAttribute('data-force-retranslate','');}},100)
setTimeout(function(){let e=document.getElementById("qQuiversPrimaryInlineView");if(e)
e.setAttribute('data-force-retranslate','');},200)}catch(err){}
try{var scrollBehavior=window[data.Result.Marketplace].Settings.General.ScrollIntoViewBehavior;if(scrollBehavior==="Disabled"){}else if(scrollBehavior==="TopOfPage"){window.scrollTo({top:0,behavior:"smooth"});}else{element.scrollIntoView({behavior:"smooth",block:"start"});}}catch(err){console.error(err)}},error:function(data){var navs=document.getElementsByClassName("qIcon");for(var i=0;i<navs.length;i++){if(typeof navs[i]!=="function")
navs[i].setAttribute("data-active","false");}
try{document.getElementById(window[data.responseJSON.Result.Marketplace].Settings.General.DefaultDisplay).innerHTML=data.responseJSON.Result.Html;}
catch(err){console.log(data);document.getElementById(Quivers.Settings.General.DefaultDisplay).innerHTML=data.Result.Error;}}}
$Quivers["/api/v1/module"]={beforeSend:function(data,curl){if(typeof curl!="undefined")
var uri=curl.url;else
var uri=data.Resource;if(uri.indexOf("Element")>-1)
var element=uri.split("Element=")[1];else
var element=uri.split("Module=")[1];if(element.indexOf("&")>-1)
element=element.split("&")[0];if(document.getElementById(element))
document.getElementById(element).setAttribute("loading","true");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);if(typeof data.Result.Data!="undefined"){var element=document.getElementById(data.Result.Data.Module);if(element){element.setAttribute("loading","false");window[data.Result.Marketplace].Dom.ReplaceHtml(element,data.Result.Html);if(typeof data.Result.Data.Pager!="undefined")
new $Pager(data.Result.Marketplace,data.Result.Data.Pager.Name,data.Result.Data.Pager.ToPage,data.Result.Data.PagerData);if(data.Result.Data.Module=="userDetails")
$Quivers.Dom.LevelElements("qHeightRow");var additionalElements=$Quivers.Dom.Get('[data-module="'+element.id+'"]');for(var i=0;i<additionalElements.length;i++)
window[data.Result.Marketplace].Dom.ReplaceHtml(additionalElements[i],data.Result.Html);}}
if($Quivers.Utilities.GetBrowser().name=="IE"||$Quivers.Utilities.GetBrowser().name=="Edge"){var ieScrollHeightBugFix=$Quivers.Dom.Get(".view-body");if(ieScrollHeightBugFix.length>0){for(var i in ieScrollHeightBugFix){if(ieScrollHeightBugFix[i].parentNode.parentNode.id=="currentView"){if(ieScrollHeightBugFix[i].hasAttribute("style"))
ieScrollHeightBugFix[i].removeAttribute("style");ieScrollHeightBugFix[i].setAttribute("style","height: auto;");}}}}
$Quivers.Dom.ResizeDialog();$Quivers.Dom.Listeners();try{setTimeout(function(){if(element){let e=document.getElementById(element.id);if(e)
e.setAttribute('data-force-retranslate','');}},100)
setTimeout(function(){let e=document.getElementById("qQuiversPrimaryInlineView");if(e)
e.setAttribute('data-force-retranslate','');},200)}catch(err){}},error:function(data){$Quivers.Utilities.Debug(data);}}
$Quivers.SimpleFormCallback={success:function(data){data=$Quivers.Utilities.FormatResult(data);var forms=$Quivers.Dom.Get('[data-api="'+data.Result.Data.Form+'"]');if(typeof data.Result.Data.AlertType!="undefined")
var alertType=data.Result.Data.AlertType;else
var alertType="success";for(var f=0;f<forms.length;f++){var button=document.getElementById(forms[f].getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+forms[f].getAttribute("data-form")+'"]')[0].id,alertType,data.Result.Html);forms[f].reset();}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var form=$Quivers.Dom.Get('[data-api="'+data.Result.Data.Form+'"]')[0];var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"danger",data.Result.Html);form.reset();}}
$Quivers['/api/v1/mailSupport']=$Quivers.SimpleFormCallback;$Quivers["/api/v1/user/logincheck"]={beforeSend:function(xhr,curl){var form=$Quivers.Dom.Get('[data-api="user/logincheck"]')[0];if(form){var button=document.getElementById(form.getAttribute("data-form")+"-Submit");if(button){button.setAttribute("disabled","true");button.setAttribute("working","true");}}
return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);var form=$Quivers.Dom.Get('[data-api="user/logincheck"]')[0];if(form){var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");}
var fillEmails=$Quivers.Dom.Get('#qEmail');for(var i=0;i<fillEmails.length;i++){console.log(fillEmails[i],data.Result.Data.Email)
fillEmails[i].value=data.Result.Data.Email;}
var firstn=document.getElementById('qFirstName');var lastn=document.getElementById('qLastName');if(firstn)firstn.value=data.Result.Data.User!=null?data.Result.Data.User?.firstname:null;if(lastn)lastn.value=data.Result.Data.User!=null?data.Result.Data.User?.lastname:null;var checkForm=document.getElementById('q-LoginCheck');var loginForm=document.getElementById('q-Login');var registerForm=document.getElementById('q-Register');if(data.Result.Data.RequiresRegister==true){if(loginForm)loginForm.className="hidden";if(registerForm)registerForm.className="visible";if(checkForm)checkForm.className="hidden";if(data.Result.Data.User?.id&&data.Result.Data.User?.isGuest==false)
document.getElementById('qExistingUser').className="visible";else
document.getElementById('qExistingUser').className="hidden";if(data.Result.Data.RequiresCode==false){var codeSection=document.getElementById('q-RegisterCode');var codeInput=document.getElementById('qRegistrationTerm');if(codeSection)
codeSection.className="hidden";if(codeInput)
codeInput.removeAttribute('data-required');}
var domain=document.getElementById('qRegister-Domain');if(data.Result.Data.Domain){domain.value=data.Result.Data.Domain;}
if(data.Result.Data.Domain===null&&data.Result.Data.User!=null)
domain.value="null";}
else{if(loginForm)loginForm.className="visible";if(registerForm)registerForm.className="hidden";if(checkForm)checkForm.className="hidden";var domain=document.getElementById('qLogin-Domain');domain.value=data.Result.Data.Domain;}
return true;},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var form=$Quivers.Dom.Get('[data-api="user/logincheck"]')[0];if(!form)
return;var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"danger",data.Result.Html);}}
$Quivers["/api/v1/user/login"]={beforeSend:function(xhr,curl){console.log("Login...");var form=$Quivers.Dom.Get('[data-api="user/login"]')[0];if(form){var button=document.getElementById(form.getAttribute("data-form")+"-Submit");if(button){button.setAttribute("disabled","true");button.setAttribute("working","true");}}
return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);var form=$Quivers.Dom.Get('[data-api="user/login"]')[0];if(form){var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"success",data.Result.Html);}
if(data.Result.Data.UseMarketplace!=data.Result.Marketplace){$Quivers.Utilities.CreateCookie("Marketplace",data.Result.Data.UseMarketplace,1);Quivers=new HoverCart(data.Result.Data.UseMarketplace,window[data.Result.Marketplace].Id,window[data.Result.Marketplace].PointOfSaleBusiness,window[data.Result.Marketplace].Environment);Quivers.Start();}
else{window[data.Result.Marketplace].Criteo.SetEmail(data.Result.Data.User.UserInfo.Email,data.Result.Data.Md5Email);window[data.Result.Marketplace].Get("ribbon",function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].Catalog.Widgets();window[data.Result.Marketplace].Catalog.Assortments();if($Quivers.Utilities.GetQuery("ReturnUrl")!==""){window.location=$Quivers.Utilities.GetQuery("ReturnUrl");}
else{if($Quivers.Utilities.GetQuery(window[data.Result.Marketplace].Settings.QueryTokens.Default).toLowerCase()!="login"&&$Quivers.Utilities.GetQuery(window[data.Result.Marketplace].Settings.QueryTokens.Default).toLowerCase()!=""){window[data.Result.Marketplace].SelectViewFromUrl();}
else{var url=Quivers.LastURI;if(url!=null&&url!=""&&typeof url!=="undefined"&&window.location.search!=url&&window[data.Result.Marketplace].GetUrlScheme("Default","Login")!=url){console.log(5)
window.history.pushState(url,url,url);window[data.Result.Marketplace].SelectViewFromUrl();}
else{if(window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior!=""&&window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior!=null)
window[data.Result.Marketplace].View(window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior);else if(window[data.Result.Marketplace].Settings.General.DefaultPage!=""&&window[data.Result.Marketplace].Settings.General.DefaultPage!=null)
window[data.Result.Marketplace].View(window[data.Result.Marketplace].Settings.General.DefaultPage);else if(window[data.Result.Marketplace].Settings.Pages.Products.Enabled==true)
window[data.Result.Marketplace].View("Products");}}}});}
try{Quivers.Utilities.ClearLocalStorage()}catch(err){console.warn(err)}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var form=$Quivers.Dom.Get('[data-api="user/login"]')[0];if(!form)
return;var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");if(data.Result.Html=="Error: ")
data.Result.Html=window[data.Result.Marketplace].$("GenericError");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"danger",data.Result.Html);}}
$Quivers["/api/v1/user/register"]={beforeSend:function(xhr,curl){var form=$Quivers.Dom.Get('[data-api="user/register"]')[0];var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("disabled","true");button.setAttribute("working","true");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);var form=$Quivers.Dom.Get('[data-api="user/register"]')[0];var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");var alertType=data.Result.Data.RequiresVerification?"warning":"success";$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,alertType,data.Result.Html);if(data.Result.Data.UseMarketplace!=data.Result.Marketplace){$Quivers.Utilities.CreateCookie("Marketplace",data.Result.Data.UseMarketplace,1);Quivers=new HoverCart(data.Result.Data.UseMarketplace,window[data.Result.Marketplace].Id,window[data.Result.Marketplace].PointOfSaleBusiness,window[data.Result.Marketplace].Environment);Quivers.Start();}
else{window[data.Result.Marketplace].Criteo.SetEmail(data.Result.Data.User.UserInfo.Email,data.Result.Data.Md5Email);window[data.Result.Marketplace].Get("ribbon",function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].Catalog.Widgets();window[data.Result.Marketplace].Catalog.Assortments();if($Quivers.Utilities.GetQuery("ReturnUrl")!=="")
window.location=$Quivers.Utilities.GetQuery("ReturnUrl");else{if($Quivers.Utilities.GetQuery(window[data.Result.Marketplace].Settings.QueryTokens.Default).toLowerCase()!="login")
window[data.Result.Marketplace].SelectViewFromUrl();else{var url=Quivers.LastURI;if(url!=null&&url!=""&&typeof url!=="undefined"&&window.location.search!=url&&window[data.Result.Marketplace].GetUrlScheme("Default","Login")!=url){window.history.pushState(url,url,url);window[data.Result.Marketplace].SelectViewFromUrl();}
else{if(window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior!=""&&window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior!=null)
window[data.Result.Marketplace].View(window[data.Result.Marketplace].Settings.General.LoginRedirectBehavior);else if(window[data.Result.Marketplace].Settings.General.DefaultPage!=""&&window[data.Result.Marketplace].Settings.General.DefaultPage!=null)
window[data.Result.Marketplace].View(window[data.Result.Marketplace].Settings.General.DefaultPage);else if(window[data.Result.Marketplace].Settings.Pages.Products.Enabled==true)
window[data.Result.Marketplace].View("Products");}}}});}
try{Quivers.Utilities.ClearLocalStorage()}catch(err){console.warn(err)}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var form=$Quivers.Dom.Get('[data-api="user/register"]')[0];var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"danger",data.Result.Html);}}
$Quivers["/api/v1/user/forgotPassword"]=$Quivers.SimpleFormCallback;$Quivers["/api/v1/user/updatePassword"]=$Quivers.SimpleFormCallback;$Quivers["/api/v1/user/updateDetails"]=$Quivers.SimpleFormCallback;$Quivers["/api/v1/logout"]={beforeSend:function(data,curl){document.getElementById("qQuiversLogout").setAttribute("onclick","");document.getElementById("qQuiversLogout").setAttribute("onkeypress","");document.getElementById("qQuiversLogout").setAttribute("tabindex","");document.getElementById("qQuiversLogout").setAttribute("working","true");document.getElementById("qQuiversLogoutIcon").className="glyphicon glyphicon-cog";return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].ClearWindowStorage();if(data.Result.Data.UseMarketplace!=data.Result.Marketplace){$Quivers.Utilities.CreateCookie("Marketplace",data.Result.Data.UseMarketplace,1);Quivers=new HoverCart(data.Result.Data.UseMarketplace,window[data.Result.Marketplace].Id,window[data.Result.Marketplace].PointOfSaleBusiness,window[data.Result.Marketplace].Environment);Quivers.Start();}
else{var access=data.Result.Data.MarketplaceAccess;if(data.Result.Data.Success==true&&access==false){var elements=$Quivers.Dom.Get('[quivers-view="true"');for(var i in elements){if(typeof elements[i]!=="function")
elements[i].innerHTML='<div class="alert alert-warning">'+window[data.Result.Marketplace].$("UnauthorizedViewMessage")+'</div>';}}
var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
window[data.Result.Marketplace].Criteo.SetEmail(null);window[data.Result.Marketplace].Get("ribbon",function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].Catalog.Widgets();window[data.Result.Marketplace].Catalog.Assortments();if(access==false&&window[data.Result.Marketplace].CurrentView!=null)
window[data.Result.Marketplace].View("Login",false);else
window[data.Result.Marketplace].SelectViewFromUrl();});try{window[data.Result.Marketplace].Checkout.TeardownBluesnap();}
catch(err){}}
try{Quivers.Utilities.ClearLocalStorage()}catch(err){console.warn(err)}},error:function(data){$Quivers.Utilities.Debug(data);}}
$Quivers.Authentication={StoreNumberChanged:function(storeNumber){window[this.MarketplaceId].Zenith.get(`Businesses/SearchByStoreNumber?business=${window[this.MarketplaceId].MarketplaceOwnerRefId}&storeNumber=${storeNumber}`).then((bus=>{var businesses=bus.result;var parent=document.getElementById('store_location_container');var select=document.getElementById(`store-locations`);if(parent&&select){if(businesses.length>1){select.setAttribute('data-required','true');parent.className='visible';}
else{select.removeAttribute('data-required');parent.className="hidden";}
var html=`<option value=""${(businesses.length>1)?'disabled':''}>Select Store Location</option>`;for(var business of businesses){html+=`<option value="${business.refId}">${business.name}(${business.city})</option>`;}
select.innerHTML=html;return;}}));},Back:function(){document.getElementById('q-Login').className='hidden';document.getElementById('q-Register').className='hidden';document.getElementById('q-LoginCheck').className='visible';var codeSection=document.getElementById('q-RegisterCode');var codeInput=document.getElementById('qRegistrationTerm');if(codeSection)
codeSection.className="visible";if(codeInput)
codeInput.addAttribute('data-required','true');}}
BoomerangExtension={ApplyCredit:function(){window[this.MarketplaceId].Get('applyBoomerangCreditDiscount');},ReferFriend:function(referralCode,type){if(referralCode==""||referralCode==null){window[this.MarketplaceId].View("Login");}
else{switch(type.toLowerCase()){case"cart":{var html='<div id="qBoomerangReferral" class="qBoomerangReferral">';html+='<img src="https://'+window[this.MarketplaceId].CDNHost+'/img/money-image.png" class="qBoomerangMoneyImage img-responsive">';html+='<h5>Your Code</h5>';html+='<div class="qBoomerangReferralCode"><code>'+referralCode+'</code></div>';html+='<p>Share this special code with friends. When they use Quivers Marketplace for the first time, they’ll get 2.5% of their order and you’ll get the same. <a class="qBoomerangDetailsLink" onclick="$Quivers.Dom.CloseDialog(); $Quivers.Dom.ToggleDivs('+"'body-content', 'boomerang-details'"+');">Details</a></p>';html+='<div id="qSocialSharingButtons" class="addthis_inline_share_toolbox"'+"data-url=\""+window.location.href+"&ReferralCode="+referralCode+"\" data-title=\"Use code '"+referralCode+"' at checkout to save 2.5%!\"></div>";break;}}
$Quivers.Dom.TriggerDialog("Refer a Friend",html);if(typeof addthis!=="undefined"){addthis.init();addthis.layers.refresh();}
var shareBtns=$Quivers.Dom.Get(".at-icon-wrapper");for(var i=0;i<shareBtns.length;i++){shareBtns[i].setAttribute("onclick",'$Quivers.Dom.CloseDialog();');}}}}
$Quivers["/api/v1/applyBoomerangCreditDiscount"]={beforeSend:function(){document.getElementById("qApplyCreditBtn").setAttribute("working","true");document.getElementById("qApplyCreditBtn").setAttribute("disabled","true");document.getElementById("qApplyCreditBtn").setAttribute("style","pointer-events: none;");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].Checkout.UpdateTotals();var applyDiv=document.getElementById("qBoomerangApplyCredit");applyDiv.parentNode.removeChild(applyDiv);var html='<div class="alert alert-success">You will be using your current <span class="qBoomerangCreditTM">Quivers Credit</span> balance for this transaction.</div>';html+="<div class=\"qDialogButtonContainer\"><div class=\"qWidgetButton\" onclick=\"$Quivers.Dom.CloseDialog();\">"+window[data.Result.Marketplace].$("ReturnBtn","discounts")+"</div></div>";$Quivers.Dom.TriggerDialog("Using Quivers Credit",html);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);},complete:function(){document.getElementById("qApplyCreditBtn").setAttribute("working","false");document.getElementById("qApplyCreditBtn").removeAttribute("disabled");document.getElementById("qApplyCreditBtn").setAttribute("style","");}}
$Quivers.Cart={AddDiscount:function(code){if(typeof code=="undefined")
var code=document.getElementById("qDiscountCodeInput").value;var buttons=$Quivers.Dom.Get('.qSubmitDiscountButton');for(var b in buttons){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/cart/applyDiscount",{Discount:code},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var contents=$Quivers.Dom.GenerateAlertHtml("success",window[data.Result.Marketplace].$("SuccessfullyAddedDiscount","discounts"));if(typeof data.Result.Data.UpsellOpportunity!=="undefined")
contents+=data.Result.Data.UpsellOpportunityHtml;contents+="<div class=\"qDialogButtonContainer\"><div class=\"qWidgetButton\" onclick=\"$Quivers.Dom.CloseDialog();\">"+window[data.Result.Marketplace].$("ReturnBtn","discounts")+"</div></div>";$Quivers.Dom.TriggerDialog(window[data.Result.Marketplace].$("SuccessDialogTitle","discounts"),contents);var input=document.getElementById("qDiscountCodeInput");if(input)
input.value="";if(typeof window[data.Result.Marketplace].Checkout!=="undefined"){window[data.Result.Marketplace].Checkout.UpdateTotals();}}
else{$Quivers.Dom.CreateAlert("qDiscountsAlerts","danger",data.Result.Html);}
for(var b in buttons){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");}}});},RemoveDiscount:function(business,discount){var buttons=$Quivers.Dom.Get('[data-remove-discount="'+discount+'"][data-refid="'+business+'"]');for(var b=0;b<buttons.length;b++){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/cart/removeDiscount",{Discount:discount,CartRefId:business},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){window[data.Result.Marketplace].Checkout.UpdateTotals();}
else{$Quivers.Dom.CreateAlert("qDiscountsAlerts","danger",data.Result.Html);}
for(var b=0;b<buttons.length;b++){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");}}});},AddProduct:function(id,cartType,checkForOptions,ispu=false,fulfillmentMethod=10,isShipToStore=false,qty=null){var foptions=$Quivers.Dom.Get('div.qOption[data-product="'+id+'"]');for(var option of foptions){if(option.getAttribute('data-active')=='true'){fulfillmentMethod=parseInt(option.getAttribute('data-method'));if(typeof ispu!="string")
ispu=Boolean(parseInt(option.getAttribute('data-pickretailer')));console.log(ispu)}}
if(!navigator.cookieEnabled||window[this.MarketplaceId].ThirdPartyCookiesEnabled==false){window[this.MarketplaceId].CookiesDialog(window[this.MarketplaceId]);return false;}
var quantityInputs=$Quivers.Dom.Get('#qVariantQuantity[data-productid="'+id+'"]');var quantity=qty||1;if(quantityInputs.length>0)
quantity=quantityInputs[0].value;else{var fallback=document.getElementById('qVariantQuantity');if(fallback)
quantity=fallback.value;}
if(quantity<1){$Quivers.Dom.CreateAlert("qCartAlerts-"+id,"danger","You cannot add "+quantity+" of this item to your cart. Please try a quantity greater than 0.");return false;}
var alertId=typeof ispu=="string"?"qCartISPUAlerts-"+id:"qCartAlerts-"+id;var pictureInputs=$Quivers.Dom.Get('input[data-productpicture][data-productid="'+id+'"]');if(pictureInputs.length>0){if(pictureInputs[0].getAttribute('data-required')=="true"&&pictureInputs[0].value==""){$Quivers.Dom.CreateAlert(alertId,"danger","You must select a Picture Attachment for this product!");return false;}
var pictureId=pictureInputs[0].value!=""?parseInt(pictureInputs[0].value):null;}
var buttonFind='[data-'+cartType.toLowerCase()+"='"+id+"']";var buttons=$Quivers.Dom.Get(buttonFind);for(var b in buttons){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute=="function"&&buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");if(buttons[b].parentNode.className=="qActions")
buttons[b].parentNode.setAttribute("style","opacity: 1;");}}
if(document.getElementById("qCartAlerts-"+id))
var alertsDiv=alertId;else
var alertsDiv="qCartAlerts";if(typeof cartDiscountId=="undefined")
var cartDiscountId=null;if(cartType=="FreeGift"){cartType="Shopping";var selectDiscount=document.getElementById('qSelectAsGift-'+id);var cartDiscountId=selectDiscount.options[selectDiscount.selectedIndex].value;}
var inStorePickupLocation=null;if(ispu!==false&&ispu!==true)
inStorePickupLocation=ispu;let api=(ispu!==true||$Quivers.Dom.Get("#instorePickup").length>0)?"user/cart/addItem":"user/cart/ispu";let execute=(ispu!==true)?function(s){s()}:function(s,e){if(!navigator.geolocation){s();}else{navigator.geolocation.getCurrentPosition(s,s,{timeout:1000});}};var self=this;var continueShoppingCategoryId=null;try{var activeCategories=$Quivers.Dom.Get(".qCategoryName.active[data-category]");if(activeCategories.length>0)
continueShoppingCategoryId=activeCategories[0].getAttribute("data-category");else{var urlCategoryId=window[self.MarketplaceId].GetModuleQueryId("Category");if(urlCategoryId)
continueShoppingCategoryId=urlCategoryId;}}
catch(err){}
if(inStorePickupLocation&&fulfillmentMethod==70){window[self.MarketplaceId].Get("module?Module=reserveOnlineBuyInStore&Product="+id+"&Quantity="+quantity+"&CustomerPickedFulfillerRefId="+inStorePickupLocation,function(data){$Quivers.Dom.TriggerDialog("Complete Your Reservation",data.Result.Html);for(var b in buttons){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");if(buttons[b].parentNode!=null&&buttons[b].parentNode.className=="qActions")
buttons[b].parentNode.setAttribute("style","");}}});return true;}
execute(function(success){var postData={Type:cartType,Product:id,Quantity:quantity,DontAdd:checkForOptions,CartDiscountId:cartDiscountId,PictureAttachmentId:pictureId,AddedFromUrl:window.location.href,CustomerPickedFulfillerRefId:inStorePickupLocation,CurbsidePickup:fulfillmentMethod==30,FulfillmentMethod:fulfillmentMethod,AffiliateId:window[self.MarketplaceId].AffiliateId,IsShipToStore:isShipToStore||false,ContinueShoppingCategoryId:continueShoppingCategoryId};if($Quivers.Utilities.GetQuery("Cart"))
postData.CartToken=$Quivers.Utilities.GetQuery("Cart");if(window[self.MarketplaceId].InstorePickupData){console.log(window[self.MarketplaceId].InstorePickupData.MyCoords)
postData.Latitude=window[self.MarketplaceId].InstorePickupData.MyCoords.Latitude;postData.Longitude=window[self.MarketplaceId].InstorePickupData.MyCoords.Longitude;}
else if(typeof success!="undefined"&&success.coords){postData.Latitude=success.coords.latitude;postData.Longitude=success.coords.longitude;}
window[self.MarketplaceId].Post(api,postData,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){try{window[self.MarketplaceId].IgnoreCartToken=(data.Result.Data.CartData[cartType].Token!=$Quivers.Utilities.GetQuery("Cart"));}
catch(err){}
if(api=="user/cart/ispu"){$Quivers.Dom.TriggerDialog(window[data.Result.Marketplace].$("DialogChoosePickupLocation","cart"),data.Result.Html);window[data.Result.Marketplace].InstorePickupData={MyCoords:data.Result.Data.ConsumerCoordinates,Locations:data.Result.Data.PickupLocations,CartItemId:null,ProductId:id}
var element=document.getElementById('qISPU-GooglePlacesAddressPicker')
var places_auto_complete=new google.maps.places.Autocomplete(element,{types:['geocode']});places_auto_complete.addListener('place_changed',function(){var place=places_auto_complete.getPlace();console.log(place)
var coords={lat:place.geometry.location.lat(),lng:place.geometry.location.lng()};window[data.Result.Marketplace].InstorePickupData.MyCoords={Latitude:coords.lat,Longitude:coords.lng};window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(id,null,coords);});var distance=document.getElementById('qISPU-Distance');if(distance){distance.addEventListener('change',function(ev){window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(id,null,data.Result.Data.ConsumerCoordinates,ev.target.value);});}}
else{var contents=$Quivers.Dom.GenerateAlertHtml("success",data.Result.Html);var redirectToCart=true;if(typeof data.Result.Data.UpsellOpportunity!=="undefined"){contents+=data.Result.Data.UpsellOpportunityHtml;redirectToCart=false;}
if(typeof data.Result.Data.InstorePickupHtml!=="undefined"){contents+=data.Result.Data.InstorePickupHtml;redirectToCart=false;}
if(cartType.toLowerCase()!="shopping")
redirectToCart=false;contents+="<div class=\"qDialogButtonContainer\"><a class=\"qWidgetButton\" tabindex=\"0\" onclick=\"$Quivers.Dom.CloseDialog();\" onkeypress=\"$Quivers.Dom.CloseDialog();\">"+window[data.Result.Marketplace].$("ContinueShoppingBtn","cart")+"</a>";if(cartType.toLowerCase()=="shopping")
contents+="<a class=\"qWidgetButton\" tabindex=\"0\" onclick=\"window['"+data.Result.Marketplace+"'].View('Checkout')\" onkeypress=\"window['"+data.Result.Marketplace+"'].View('Checkout')\">"+window[data.Result.Marketplace].$("ProceedToCheckoutBtn","cart")+"</a>";else
contents+="<a class=\"qWidgetButton\" tabindex=\"0\" onclick=\"window['"+data.Result.Marketplace+"'].View('Wishlist')\" onkeypress=\"window['"+data.Result.Marketplace+"'].View('Wishlist')\">"+window[data.Result.Marketplace].$("ViewWishlistBtn","cart")+"</a>";contents+="</div>";if(cartType.toLowerCase()=="shopping")
var boxTitle=window[data.Result.Marketplace].$("DialogTitleCart","cart");else
var boxTitle=window[data.Result.Marketplace].$("DialogTitleWishlist","cart");if(redirectToCart==false)
$Quivers.Dom.TriggerDialog(boxTitle,contents);var cartCounts=$Quivers.Dom.Get("#qCartCount-"+cartType);for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=data.Result.Data.CartItemCount;var selectAsGifts=$Quivers.Dom.Get(".qProductPurchaseButtons");for(var s=0;s<selectAsGifts.length;s++){window[data.Result.Marketplace].Get("module?Module=productPurchaseButtons&ProductId="+selectAsGifts[s].id.split("-")[1]+"&Element=productPurchaseButtons-"+selectAsGifts[s].id.split("-")[1]);}
if(typeof window[data.Result.Marketplace].Checkout!=="undefined"){try{window[data.Result.Marketplace].Checkout.DeliveryMethod=data.Result.Data.DeliveryMethod;}
catch(err){console.warn(err);}}
window[data.Result.Marketplace].Analytics.ProductHit(data.Result.Data,"CartItem","add");window[data.Result.Marketplace].Analytics.Send("send",'event');if(redirectToCart==true)
window[data.Result.Marketplace].View('Cart');}}
else{if(typeof data.Result.Data.InStorePickupError!=="undefined"&&data.Result.Data.InStorePickupError==true){var contents=$Quivers.Dom.GenerateAlertHtml("danger",data.Result.Data.Error);contents+=data.Result.Html;$Quivers.Dom.TriggerDialog(window[data.Result.Marketplace].$("PickLocation","instorepickup"),contents);window[data.Result.Marketplace].InstorePickupMap=new QuiversInstorePickupMap(data.Result.Marketplace,{MyCoords:data.Result.Data.ConsumerCoordinates,Locations:data.Result.Data.PickupLocations,CartItemId:null,ProductId:id});}
else if(data.Result.Data.RedirectToDetailsPage==true&&window[data.Result.Marketplace].Settings.Pages.Products.Enabled==true){window[data.Result.Marketplace].Catalog.ProductDetails(id,function(){$Quivers.Dom.CreateAlert("qProductOptionsAlerts-"+id,"danger",data.Result.Html);});}
else
$Quivers.Dom.CreateAlert(alertsDiv,"danger",data.Result.Html);}
for(var b in buttons){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");if(buttons[b].parentNode!=null&&buttons[b].parentNode.className=="qActions")
buttons[b].parentNode.setAttribute("style","");}}});},function(err){alert(err.message);})},RemoveProduct:function(id,cartType){var buttons=$Quivers.Dom.Get('[data-remove-item="'+id+'"]');for(var b in buttons){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");}}
var postData={Type:cartType,Product:id};if($Quivers.Utilities.GetQuery("Cart"))
postData.CartToken=$Quivers.Utilities.GetQuery("Cart");window[this.MarketplaceId].Post("user/cart/removeItem",postData,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var cartCounts=$Quivers.Dom.Get("#qCartCount-"+cartType);for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=data.Result.Data.CartItemCount;if(data.Result.Data.RenderType=="Module")
document.getElementById("qCartDetails").innerHTML=data.Result.Html;else{var elem=window[data.Result.Marketplace].Settings.GetDisplayElement(window[data.Result.Marketplace].CurrentView);document.getElementById(elem).innerHTML=data.Result.Html;}
if(document.getElementById("productUpsellOpportunity"))
window[data.Result.Marketplace].Get("module?Module=productUpsellOpportunity");window[data.Result.Marketplace].Analytics.ProductHit(data.Result.Data,"CartItem","remove");window[data.Result.Marketplace].Analytics.Send("send",'event');}
else{$Quivers.Dom.CreateAlert("qCartAlerts","danger",data.Result.Html);}
for(var b in buttons){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");}}});},MoveProduct:function(id){var buttons=$Quivers.Dom.Get('[data-move-item="'+id+'"]');for(var b in buttons){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/cart/moveToCart",{Item:id},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var cartCounts=$Quivers.Dom.Get("#qCartCount-Shopping");for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=data.Result.Data.ShoppingCount;var wishlistCounts=$Quivers.Dom.Get("#qCartCount-Wishlist");for(var c=0;c<wishlistCounts.length;c++)
wishlistCounts[c].innerHTML=data.Result.Data.WishlistCount;if(data.Result.Data.WishlistCount==0){window[data.Result.Marketplace].View('Cart');}else if(data.Result.Data.ShoppingCount==0){window[data.Result.Marketplace].View('Wishlist');}else{document.getElementById("qCartDetails").innerHTML=data.Result.Html;}}
else{$Quivers.Dom.CreateAlert("qCartAlerts","danger",data.Result.Html);}
for(var b in buttons){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("working","false");buttons[b].removeAttribute("disabled");}}});},UpdateProduct:function(id,cartType,ispu=null,fulfillmentMethodId=10){var fields=$Quivers.Dom.Get('[data-update-item="'+id+'"]');for(var b in fields){if(typeof fields[b]!=="function"){if(fields[b].hasAttribute("disabled"))
return false;fields[b].setAttribute("working","true");fields[b].setAttribute("disabled","true");}}
var quantity_inputs=$Quivers.Dom.Get('[data-update-item="'+id+'"]')
var quantity=(quantity_inputs.length>0)?quantity_inputs[0].value:null;var postData={Type:cartType,Product:id,Quantity:quantity,CustomerPickedFulfillerRefId:ispu,CurbsidePickup:fulfillmentMethodId==30,FulfillmentMethod:fulfillmentMethodId};if($Quivers.Utilities.GetQuery("Cart"))
postData.CartToken=$Quivers.Utilities.GetQuery("Cart");window[this.MarketplaceId].Post("user/cart/updateItem",postData,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var cartCounts=$Quivers.Dom.Get("#qCartCount-"+cartType);for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=data.Result.Data.CartItemCount;if(data.Result.Data.RenderType=="Module")
document.getElementById("qCartDetails").innerHTML=data.Result.Html;else{var elem=window[data.Result.Marketplace].Settings.GetDisplayElement("Checkout");document.getElementById(elem).innerHTML=data.Result.Html;}
if(document.getElementById("productUpsellOpportunity"))
window[data.Result.Marketplace].Get("module?Module=productUpsellOpportunity");if(typeof window[data.Result.Marketplace].Checkout!=="undefined"){try{window[data.Result.Marketplace].Checkout.DeliveryMethod=data.Result.Data.DeliveryMethod;}
catch(err){console.warn(err);}}
if(window[data.Result.Marketplace].Checkout)
window[data.Result.Marketplace].Checkout.ToggleState("Customer");}
else{$Quivers.Dom.CreateAlert("qCartAlerts","danger",data.Result.Html);}
for(var b in fields){if(typeof fields[b]!=="function"){fields[b].setAttribute("working","false");fields[b].removeAttribute("disabled");}}
try{$Quivers.Dom.CloseDialog();}
catch(err){}});},ReloadInstorePickupResults:function(productId,itemId,coords=null,distance=50){var uri="module?Module=instorePickup&ProductId="+productId;if(itemId)
uri+="&CartItemId="+itemId;if(coords!=null)
uri+="&Latitude="+coords.lat+"&Longitude="+coords.lng
if(distance)
uri+="&Distance="+distance;var fulfillmentMethod=null;var foptions=$Quivers.Dom.Get('div.qOption[data-product="'+productId+'"]');for(var option of foptions){if(option.getAttribute('data-active')=='true'){fulfillmentMethod=parseInt(option.getAttribute('data-method'));}}
if(fulfillmentMethod!=null)
uri+="&FulfillmentMethod="+fulfillmentMethod;window[this.MarketplaceId].Get(uri,function(data){document.getElementById("instorePickup").innerHTML=data.Result.Html;var element=document.getElementById('qISPU-GooglePlacesAddressPicker')
var places_auto_complete=new google.maps.places.Autocomplete(element,{types:['geocode']});places_auto_complete.addListener('place_changed',function(){var place=places_auto_complete.getPlace();console.log(place)
var coords={lat:place.geometry.location.lat(),lng:place.geometry.location.lng()};window[data.Result.Marketplace].InstorePickupData.MyCoords={Latitude:coords.lat,Longitude:coords.lng};window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(productId,itemId,coords);});var distance=document.getElementById('qISPU-Distance');if(distance){distance.addEventListener('change',function(ev){window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(productId,itemId,data.Result.Data.ConsumerCoordinates,ev.target.value);});}});},AdjustInstorePickup:function(cartItemId,productId){var contents='<div id="instorePickup" class="qModule" loading="true"></div>';$Quivers.Dom.TriggerDialog(window[this.MarketplaceId].$("AdjustLocation","instorepickup"),contents);window[this.MarketplaceId].Get("module?Module=instorePickup&CartItemId="+cartItemId+"&ProductId="+productId,function(data){window[data.Result.Marketplace].InstorePickupData={MyCoords:data.Result.Data.ConsumerCoordinates,Locations:data.Result.Data.PickupLocations,CartItemId:cartItemId,ProductId:productId};document.getElementById("instorePickup").innerHTML=data.Result.Html;if(typeof data.Result.Data.InitiallySelected!="undefined")
window[data.Result.Marketplace].InstorePickupData.InitiallySelected=data.Result.Data.InitiallySelected;var element=document.getElementById('qISPU-GooglePlacesAddressPicker')
var places_auto_complete=new google.maps.places.Autocomplete(element,{types:['geocode']});places_auto_complete.addListener('place_changed',function(){var place=places_auto_complete.getPlace();console.log(place)
var coords={lat:place.geometry.location.lat(),lng:place.geometry.location.lng()};window[data.Result.Marketplace].InstorePickupData.MyCoords={Latitude:coords.lat,Longitude:coords.lng};window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(productId,cartItemId,coords);});var distance=document.getElementById('qISPU-Distance');if(distance){distance.addEventListener('change',function(ev){window[data.Result.Marketplace].Cart.ReloadInstorePickupResults(productId,cartItemId,data.Result.Data.ConsumerCoordinates,ev.target.value);});}})},RemoveInstorePickup:function(cartItemId){var buttons=$Quivers.Dom.Get('[data-item="'+cartItemId+'"]');for(var b in buttons){if(typeof buttons[b]!=="function"){if(buttons[b].hasAttribute=="function"&&buttons[b].hasAttribute("disabled"))
return false;buttons[b].setAttribute("working","true");buttons[b].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/cart/updateItem",{Type:"Shopping",Product:cartItemId,InStorePickupLocation:{Address:null,RefId:null,Name:null},FulfillmentMethod:10},function(data){if(data.ResponseCode<300){if(typeof window[data.Result.Marketplace].Checkout!=="undefined"){window[data.Result.Marketplace].View("Checkout");}
else{window[data.Result.Marketplace].View("Cart");}}
else{}
for(var b in buttons){buttons[b].removeAttribute("working");buttons[b].removeAttribute('disabled');}
$Quivers.Dom.CloseDialog();});},Share:function(id){var copyText=window.location.origin+window.location.pathname+window[this.MarketplaceId].GetUrlScheme("Default","Checkout")+"&Cart="+id;if(window[this.MarketplaceId].AffiliateId)
copyText+="&affiliate="+window[this.MarketplaceId].AffiliateId;try{navigator.clipboard.writeText(copyText).then(function(){alert('The link to this shopping cart has been copied to your clipboard!');},function(){alert('Unable to copy link. Please check that your browser permissions allow your clipboard to be edited.');});}
catch(err){alert('Unable to copy link. Please check that your browser permissions allow your clipboard to be edited.');console.error(err);}}}
$Quivers["/api/v1/user/cart/reserve"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);var self=window[data.Result.Marketplace];if(self.Settings.Pages.Checkout.DisplayElement!=null&&self.Settings.Pages.Checkout.DisplayElement!="")
var elem=self.Settings.Pages.Checkout.DisplayElement;else if(self.Settings.General.DefaultDisplay!=null&&self.Settings.General.DefaultDisplay!="")
var elem=self.Settings.General.DefaultDisplay;var elem=document.getElementById(elem);if(elem==null)
var elem=document.getElementById("currentView");window[data.Result.Marketplace].CurrentView="Confirmation";var url=window[data.Result.Marketplace].GetUrlScheme("Default","Confirmation");url=window[data.Result.Marketplace].ConstructURL(url);window.history.pushState(url,url,url);elem.innerHTML=data.Result.Html;try{$Quivers.Dom.CloseDialog();}
catch(err){}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var form=$Quivers.Dom.Get('[data-api="user/cart/reserve"]')[0];if(!form)
return;var button=document.getElementById(form.getAttribute("data-form")+"-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");if(data.Result.Html=="Error: ")
data.Result.Html=window[data.Result.Marketplace].$("GenericError");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="'+form.getAttribute("data-form")+'"]')[0].id,"danger",data.Result.Html);}}
$Quivers.Catalog={Category:function(id,page){var ribbon=document.getElementById(window[this.MarketplaceId].Settings.Ribbon.DisplayElement);if(ribbon){if(window[this.MarketplaceId].Settings.Pages.Products.DisplayElement==null)
var display=window[this.MarketplaceId].Settings.General.DefaultDisplay;else
var display=window[this.MarketplaceId].Settings.Pages.Products.DisplayElement;if(window[this.MarketplaceId].CurrentView!="Products"){url=window[this.MarketplaceId].GetUrlScheme("Category",id);if(window[this.MarketplaceId].Settings.Pages.Products.PageUrl!="")
location.href=window[this.MarketplaceId].Settings.Pages.Products.PageUrl+url;else{window.history.pushState(url,url,url);window[this.MarketplaceId].View("Products",false);}
return true;}}
var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
var client=window[this.MarketplaceId];var waitUntil=setInterval(function(){if(document.getElementById("qCategoriesHaveLoaded")){clearInterval(waitUntil);if(document.getElementById("qCategory-"+id)){var cat=document.getElementById("qCategory-"+id);if(cat.className.indexOf("active")==-1)
document.getElementById("qCurrentPage").value=1;var categories=document.getElementsByClassName("qCategoryName");for(var i=0;i<categories.length;i++){if(typeof categories[i]!=="function")
categories[i].className="qCategoryName";}
if(cat)
cat.className="qCategoryName active";var parent=cat.getAttribute("data-parent");if(parent!="false")
client.Catalog.ToggleSubCategories(parent,true);var orderBy=document.getElementById("qOrderBy").options[document.getElementById("qOrderBy").selectedIndex].value;var pageSize=document.getElementById("qPageSize").options[document.getElementById("qPageSize").selectedIndex].value;var page=document.getElementById("qCurrentPage").value;var target="productsView";document.getElementById(target).setAttribute("loading","true");if(typeof seoName==='undefined'){if(cat)
var seoName=cat.getAttribute("data-seoname");else
var seoName="";}
client.Analytics.SetPage("Category/"+seoName,seoName);client.Get("module?Module="+target+"&Select=Category-"+id+"&OrderBy="+orderBy+"&PageSize="+pageSize+"&CurrentPage="+page,function(data){data=$Quivers.Utilities.FormatResult(data);var products=[];for(var i in data.Result.Data.Products){if(typeof data.Result.Data.Products!=="function"&&!isNaN(parseInt(i))){if(data.Result.Data.Products[i].RefId==""||data.Result.Data.Products[i].RefId==null)
data.Result.Data.Products[i].RefId="0";products.push(data.Result.Data.Products[i].RefId);}}
window[data.Result.Marketplace].Criteo.Push({event:"viewList",item:products});window[data.Result.Marketplace].Analytics.ImpressionHit(data.Result.Data,"Category",true);window[data.Result.Marketplace].Analytics.CommitPageView();})
if(client.GetModuleQueryId("Category")!=id){var url=id;if(seoName!="")
url=url+"/"+seoName;url=client.GetUrlScheme("Category",url);client.UpdateURL(url,"Category/"+id);}}
else{var target=document.getElementById("productsView");target.setAttribute("loading",false);target.innerHTML='<div class="alert alert-danger">'+client.$("CategoryDoesNotExistMessage","catalog")+'</div>';}}},100);},ToggleSubCategories:function(id,force){if(typeof force=="undefined")
force=false;var toggle=document.getElementById("qToggle-"+id);if(!force){if(toggle.className=="glyphicon glyphicon-chevron-right")
toggle.className="glyphicon glyphicon-chevron-down";else
toggle.className="glyphicon glyphicon-chevron-right";}
else
toggle.className="glyphicon glyphicon-chevron-down";var parent=toggle.parentNode.parentNode;var subs=parent.childNodes;for(var i=0;i<subs.length;i++){if(typeof subs[i]!=="function"){if(subs[i].nodeType==1){if(subs[i].className=="qCategory"){if(!force){if(subs[i].getAttribute("data-filtered")=="true")
subs[i].setAttribute("data-filtered","false");else
subs[i].setAttribute("data-filtered","true");}
else
subs[i].setAttribute("data-filtered","false");}}}}},ProductDetails:function(id,seoName,discountId){$Quivers.Dom.CloseDialog();var ribbon=document.getElementById(window[this.MarketplaceId].Settings.Ribbon.DisplayElement);if(ribbon){ribbon.setAttribute("data-context","products");if(!window[this.MarketplaceId].Settings.Pages.Products.DisplayElement)
var display=window[this.MarketplaceId].Settings.General.DefaultDisplay;else
var display=window[this.MarketplaceId].Settings.Pages.Products.DisplayElement;if(!display)
display="currentView";displayElement=document.getElementById(display);if(!displayElement)
displayElement=document.getElementById("currentView");if(displayElement.getAttribute("data-view")!="products"){var url=id;if(typeof seoName!="function"&&seoName!=""&&typeof seoname!="undefined")
url=url+"/"+seoName;url=window[this.MarketplaceId].GetUrlScheme("Product",url);if(location.search!==url){window[this.MarketplaceId].UpdateURL(url,"Product/"+id);}
window[this.MarketplaceId].View("Products",false);return true;}}
var target="productsView";window[this.MarketplaceId].Get("module?Module="+target+"&Select=Product-"+id,function(data){data=$Quivers.Utilities.FormatResult(data);window[data.Result.Marketplace].Analytics.SetPage("Product/"+data.Result.Data.Product.Name,""+data.Result.Data.Product.Name);if(typeof seoName=="function")
seoName();var url=id;if(typeof seoName!="function"&&seoName!=""&&typeof seoname!="undefined")
url=url+"/"+data.Result.Data.Product.Name;url=window[data.Result.Marketplace].GetUrlScheme("Product",url);if(window.location.search!=url){window[data.Result.Marketplace].UpdateURL(url,"Product/"+id);}
if(typeof discountId!="undefined"){var pDivs=$Quivers.Dom.Get('[data-quiversproduct="'+id+'"]');for(var i in pDivs){pDivs[i].setAttribute("data-discount-id",discountId);}}
if(document.getElementById("qProduct").getAttribute("data-reviews-enabled")=="1"){window[data.Result.Marketplace].Get("module?Module=productReviewsSummary&ProductId="+data.Result.Data.Product.Id+"&Element=qProductReviewsSummary");}
window[data.Result.Marketplace].Get("module?Module=productRelatedSummary&ProductId="+data.Result.Data.Product.Id+"&Element=qRelatedProductsSummary");if(document.getElementById("productPurchaseButtons-"+data.Result.Data.Product.Id))
window[data.Result.Marketplace].Get("module?Module=productPurchaseButtons&ProductId="+data.Result.Data.Product.Id+"&Element=productPurchaseButtons-"+data.Result.Data.Product.Id);var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
$Quivers.Zoom.Init('qPicturesSlider');window[data.Result.Marketplace].Criteo.Push({event:"viewItem",item:data.Result.Data.Product.RefId});window[data.Result.Marketplace].Analytics.ProductHit(data.Result.Data,"Standard","detail");window[data.Result.Marketplace].Analytics.CommitPageView();try{var scrollBehavior=window[data.Result.Marketplace].Settings.General.ScrollIntoViewBehavior;if(scrollBehavior==="Disabled"){}else if(scrollBehavior==="TopOfPage"){window.scrollTo({top:0,behavior:"smooth"});}else{document.getElementById(target).scrollIntoView({behavior:"smooth",block:"start"});}}catch(err){console.error(err)}});},ProductShort:function(id){if(window[this.MarketplaceId].Settings.Pages.ProductShort.DisplayElement==null)
var display=window[this.MarketplaceId].Settings.General.DefaultDisplay;else
var display=window[this.MarketplaceId].Settings.Pages.ProductShort.DisplayElement;if(display==null)
display="currentView";var ribbon=document.getElementById(window[this.MarketplaceId].Settings.Ribbon.DisplayElement);if(ribbon){var url=window[this.MarketplaceId].GetUrlScheme("ProductShort",id);window[this.MarketplaceId].Analytics.SetPage("Product/"+id,"Product/"+id);window[this.MarketplaceId].UpdateURL(url,"Product/"+id);ribbon.setAttribute("data-context","buyProduct");if(document.getElementById(display).getAttribute("data-view")!="buyProduct"){window[this.MarketplaceId].View("ProductShort",false);}
else{if(display=="currentView"&&document.getElementById("QuiversContent").className=="hidden")
document.getElementById("QuiversContent").className="visible";var target="productsView";window[this.MarketplaceId].Get("module/?Module="+target+"&Select=ProductShort-"+id,function(data){data=$Quivers.Utilities.FormatResult(data);if(document.getElementById("productPurchaseButtons-"+data.Result.Data.Product.Id))
window[data.Result.Marketplace].Get("module?Module=productPurchaseButtons&ProductId="+data.Result.Data.Product.Id+"&Element=productPurchaseButtons-"+data.Result.Data.Product.Id);window[data.Result.Marketplace].Criteo.Push({event:"viewItem",item:data.Result.Data.Product.RefId});window[data.Result.Marketplace].Analytics.ProductHit(data.Result.Data,"Standard","detail");window[data.Result.Marketplace].Analytics.CommitPageView();});}}},SelectVariant:function(id,oId,vId){if(typeof vId==='object'){var e=vId.target;var vId=e.options[e.selectedIndex].value;}
var products=$Quivers.Dom.Get('#qProduct[data-quiversproduct="'+id+'"]');for(var i=0;i<products.length;i++){var dwidget=products[i].getAttribute('data-refid');if(typeof products[i]!=="function"){if(products[i].getAttribute('data-iswidget')=="true"){var widgets=$Quivers.Dom.Get('[data-widget="'+dwidget+'"]');var widgets2=$Quivers.Dom.Get('[data-widget="'+id+'"]');try{dwidget=dwidget.toLowerCase();}catch(err){console.warn(err)}
var widgets3=(typeof dwidget=="string")?$Quivers.Dom.Get('[data-refid="'+dwidget+'"]'):[];for(var k=0;k<widgets.length;k++){window[this.MarketplaceId].Get("module?Module=widget"+"&Product="+id+"&Option="+oId+"&Value="+vId+"&Widget=true"+"&Element="+widgets[k].id+"&SelectVariant=true")}
for(var k=0;k<widgets2.length;k++){window[this.MarketplaceId].Get("module?Module=widget"+"&Product="+id+"&Option="+oId+"&Value="+vId+"&Widget=true"+"&Element="+widgets2[k].id+"&SelectVariant=true")}
for(var k=0;k<widgets3.length;k++){window[this.MarketplaceId].Get("module?Module=widget"+"&Product="+id+"&Option="+oId+"&Value="+vId+"&Widget=true"+"&Element="+widgets3[k].id+"&SelectVariant=true")}
try{localStorage.removeItem('/api/v1/module?Module=widget&Widget=true&Product='+id+'&Element=qWidget-'+id+'*'+this.MarketplaceId)}
catch(err){console.warn(err);}}
else{if(document.getElementById("QuiversRibbon").getAttribute("data-context")=="buyProduct")
var select="ProductShort";else
var select="Product";window[this.MarketplaceId].Get("module?Module=productsView"+"&Select="+select+"-"+id+"&Product="+id+"&Option="+oId+"&Value="+vId+"&SelectVariant=true",function(data){if(document.getElementById("qProduct").getAttribute("data-reviews-enabled")=="1"){window[data.Result.Marketplace].Get("module?Module=productReviewsSummary&ProductId="+id+"&Element=qProductReviewsSummary");}
window[data.Result.Marketplace].Get("module?Module=productRelatedSummary&ProductId="+id+"&Element=qRelatedProductsSummary");if(document.getElementById("productPurchaseButtons-"+id))
window[data.Result.Marketplace].Get("module?Module=productPurchaseButtons&ProductId="+id+"&Element=productPurchaseButtons-"+id);var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
$Quivers.Zoom.Init('qPicturesSlider');});}}}},SelectFulfillmentOption:function(productId,methodId){var options=$Quivers.Dom.Get('div.qOption[data-product="'+productId+'"]');for(var option of options){option.setAttribute('data-active',(parseInt(option.getAttribute('data-method'))==parseInt(methodId))?'true':'false');}},UploadPicture:function(ev){var hc=window[this.MarketplaceId];var form=ev.currentTarget;var d=new FormData(form);var buttons=$Quivers.Dom.Get('[data-shopping="'+form.getAttribute("data-productid")+'"]');$Quivers.Utilities.Ajax({type:"POST",url:"https://"+hc.Host+"/api/v1/uploadImage/"+"?Marketplace="+hc.Marketplace+"&Light=true",headers:{Session:hc.SessionId,ServerCache:hc.Settings.Application.UseServerCache},data:d,beforeSend:function(){for(var b=0;b<buttons.length;b++){if(typeof buttons[b]!=="function"){buttons[b].setAttribute("disabled","true");}}},success:function(data){data=$Quivers.Utilities.FormatResult(data);console.log("SUCCESS");var pictureInputs=$Quivers.Dom.Get('input[data-productpicture][data-productid="'+form.getAttribute("data-productid")+'"]');for(var i=0;i<pictureInputs.length;i++){pictureInputs[i].value=data.Result.Data.pictureInfo.id;}},error:function(data){data=$Quivers.Utilities.FormatResult(data);console.log("ERROR");$Quivers.Dom.CreateAlert("qCartAlerts-"+form.getAttribute("data-productid"),"danger","File must be an image. Supported image types include 'PNG', 'JPG' or 'GIF' only.");},complete:function(){for(var b=0;b<buttons.length;b++){if(typeof buttons[b]!=="function"){buttons[b].removeAttribute("disabled");}}},cache:false,contentType:false,processData:false});},Products:function(page){if(typeof page=="undefined"){if(document.getElementById("qCurrentPage"))
var page=document.getElementById("qCurrentPage").value;else
var page=1;}
else{if(document.getElementById("qCurrentPage"))
document.getElementById("qCurrentPage").value=page;}
var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
var orderBy=document.getElementById("qOrderBy").options[document.getElementById("qOrderBy").selectedIndex].value;var pageSize=document.getElementById("qPageSize").options[document.getElementById("qPageSize").selectedIndex].value;var target="productsView";window[this.MarketplaceId].Analytics.SetPage("Products","Products");window[this.MarketplaceId].Get("module?Module="+target+window[this.MarketplaceId].GetModuleQuery()+"&OrderBy="+orderBy+"&PageSize="+pageSize+"&CurrentPage="+page,function(data){var products=[];for(var i in data.Result.Data.Products){if(typeof data.Result.Data.Products!=="function"&&!isNaN(parseInt(i))){if(data.Result.Data.Products[i].RefId==""||data.Result.Data.Products[i].RefId==null)
data.Result.Data.Products[i].RefId="0";products.push(data.Result.Data.Products[i].RefId);}}
window[data.Result.Marketplace].Criteo.Push({event:"viewList",item:products});window[data.Result.Marketplace].Analytics.ImpressionHit(data.Result.Data,"Category",true);window[data.Result.Marketplace].Analytics.CommitPageView();try{var scrollBehavior=window[data.Result.Marketplace].Settings.General.ScrollIntoViewBehavior;if(scrollBehavior==="Disabled"){}else if(scrollBehavior==="TopOfPage"){window.scrollTo({top:0,behavior:"smooth"});}else{document.getElementById("qTopOfProductsView").scrollIntoView();}}
catch(err){console.warn(err);}});},ProductDialog:function(productId){if(productId){var elem='<div class="qWidget" data-widget="'+productId+'"></div>';$Quivers.Dom.TriggerDialog("Add to Cart",elem);window[this.MarketplaceId].Catalog.Widgets();}},TriggerSearch:function(){timer=null;clearTimeout(timer);var hc=window[this.MarketplaceId];timer=setTimeout(function(){if(timer!=null){hc.Catalog.Search(document.getElementById("qSearchInput").value);}},2000);},Search:function(query){if(typeof query==="undefined")
query=document.getElementById("qSearchInput").value;var orderBy=document.getElementById("qOrderBy").options[document.getElementById("qOrderBy").selectedIndex].value;var pageSize=document.getElementById("qPageSize").options[document.getElementById("qPageSize").selectedIndex].value;window[this.MarketplaceId].Catalog.ResetPage();var page=document.getElementById("qCurrentPage").value;var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
window[this.MarketplaceId].Analytics.SetPage("Search/"+query,"Search/"+query);timer=null;var target="productsView";if(query!=""&&query!=null&&typeof query!="undefined"){query=encodeURIComponent(query);window[this.MarketplaceId].Get("module?Module="+target+"&Select=Search-"+query+"&OrderBy="+orderBy+"&PageSize="+pageSize+"&CurrentPage="+page,function(data){var products=[];for(var i in data.Result.Data.Products){products.push(data.Result.Data.Products[i].RefId);}
window[data.Result.Marketplace].Criteo.Push({event:"viewList",item:products});window[data.Result.Marketplace].Analytics.ImpressionHit(data.Result.Data,"Search Results",true);window[data.Result.Marketplace].Analytics.CommitPageView();});var url=window[this.MarketplaceId].GetUrlScheme("Search",query);}
else{window[this.MarketplaceId].Get("module?Module="+target+"&OrderBy="+orderBy+"&PageSize="+pageSize+"&CurrentPage="+page,function(data){var products=[];for(var i in data.Result.Data.Products){if(typeof data.Result.Data.Products!=="function"&&!isNaN(parseInt(i))){if(data.Result.Data.Products[i].RefId==""||data.Result.Data.Products[i].RefId==null)
data.Result.Data.Products[i].RefId="0";products.push(data.Result.Data.Products[i].RefId);}}
window[data.Result.Marketplace].Criteo.Push({event:"viewList",item:products});window[data.Result.Marketplace].Analytics.ImpressionHit(data.Result.Data,"Landing Page",true);window[data.Result.Marketplace].Analytics.SearchEvent(query,products.length);window[data.Result.Marketplace].Analytics.CommitPageView();});var url=window[this.MarketplaceId].GetUrlScheme("Default","products");}
if(window[this.MarketplaceId].GetModuleQueryId("Search")!=query){window[this.MarketplaceId].UpdateURL(url,"Search/"+query);}},ProductReviews:function(id,dialog){if(typeof dialog=="undefined"||dialog==false){var target="productsView";var ribbon=document.getElementById(window[this.MarketplaceId].Settings.Ribbon.DisplayElement);if(ribbon){ribbon.setAttribute("data-context","products");if(window[this.MarketplaceId].Settings.Pages.Products.DisplayElement==null)
var display=window[this.MarketplaceId].Settings.General.DefaultDisplay;else
var display=window[this.MarketplaceId].Settings.Pages.Products.DisplayElement;if(document.getElementById(display).getAttribute("data-view")!="products"){window[this.MarketplaceId].View("Products",false);return true;}}
window[this.MarketplaceId].Get("module?Module="+target+"&Select=ProductReview-"+id);var url=window[this.MarketplaceId].GetUrlScheme("ProductReview",id);$Quivers.Utilities.Debug(window[this.MarketplaceId].GetUrlScheme("ProductReview",id));window[this.MarketplaceId].Analytics.SetPage("ProductReviews/"+id,"ProductReviews/"+id,true);window[this.MarketplaceId].UpdateURL(url,"ProductReviews/"+id);}
else{var contents='<div id="productReviewsDialog" class="qModule" loading="true"></div>';$Quivers.Dom.TriggerDialog(document.getElementById("qProductReviewsDialogTitle").innerHTML+window[this.MarketplaceId].$("DialogTitle","reviews"),contents);window[this.MarketplaceId].Get("module?Module=productReviewsDialog&ProductId="+id);}},WriteReview:function(){var btn=document.getElementById("qSubmitReview");window[this.MarketplaceId].Forms.Submit('writeReview',"qSubmitReview",function(data){if(data.ResponseCode<300)
var type="success";else
var type="danger";$Quivers.Dom.CreateAlert("qwriteReviewAlerts",type,data.Result.Html);btn.setAttribute("working","false");btn.removeAttribute("disabled");});},VoteReview:function(id,product,type){var target="qReviewOptions";window[this.MarketplaceId].Get("voteReview?Product="+product+"&Review="+id+"&Vote="+type,function(data){document.getElementById("qReviewOptions").innerHTML=data.Result.Html;});},SubscribeForBackInStock:function(productId,variantId){window[this.MarketplaceId].Get("module?Module=subscribeForBackInStock&Product="+productId+"&ProductVariant="+variantId+"&ProductUrl="+encodeURI(window.location.href),function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.TriggerDialog("Notify Me When Available",data.Result.Html);});},RevealContactForAvailability:function(btn){var retailerRow=btn.closest('.qInstorePickupRetailer');var contactDetails=retailerRow?retailerRow.querySelector('.qContactHidden'):null;if(contactDetails){contactDetails.classList.remove('qContactHidden');}
var refId=btn.getAttribute('data-contact-refid');var storefront=this.MarketplaceId;var productVariantId=btn.getAttribute('data-contact-productvariant');var label=document.createElement('span');label.className='qUnclaimedContacted';label.innerHTML='<span class="glyphicon glyphicon-ok"></span> Contacted';btn.parentNode.replaceChild(label,btn);if(refId&&storefront&&window[storefront]&&window[storefront].Zenith&&window[storefront].Zenith.post){window[storefront].Zenith.post('Businesses/ContactForAvailability',{businessRefId:refId,storefrontId:storefront,productVariantId:Number(productVariantId)});}},Widgets:function(){var self=this;var widgets=$Quivers.Dom.Get('[data-widget]');var widgetsToLoad=[];for(var i=0;i<widgets.length;i++){if(typeof widgets[i]!=="function"){if(widgets[i].hasAttribute("loading")==false){widgets[i].setAttribute('data-widget',widgets[i].getAttribute('data-widget').trim());widgets[i].setAttribute("data-quivers","true");widgets[i].setAttribute("quivers-view","true");widgets[i].setAttribute("quivers-bootstrap","true");widgets[i].setAttribute("loading","true");widgets[i].id="qWidget-"+widgets[i].getAttribute("data-widget");widgetsToLoad.push(widgets[i]);}}}
function loadWidget(widget){console.log(widget);status.widgetsInProgress++;if(widget.getAttribute("data-widget")){window[self.MarketplaceId].Get("module?Module=widget"+"&Widget=true"+"&Product="+widget.getAttribute("data-widget")+"&Element="+widget.id,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.Result.Data.Product){if(document.getElementById("productPurchaseButtons-"+data.Result.Data.Product.Id))
window[data.Result.Marketplace].Get("module?Module=productPurchaseButtons&ProductId="+data.Result.Data.Product.Id+"&Element=productPurchaseButtons-"+widget.getAttribute("data-widget"));window[data.Result.Marketplace].Criteo.Push({event:"viewItem",item:data.Result.Data.Product.RefId});window[data.Result.Marketplace].Analytics.ProductHit(data.Result.Data,"Standard",'detail');if(data.Result.Data.Product.RefId!=null&&data.Result.Data.Product.RefId!="")
widget.setAttribute('data-refid',data.Result.Data.Product.RefId.toLowerCase());}
status.widgetsInProgress--;status.widgetsLoadedSoFar++;});}
else{status.widgetsInProgress--;status.widgetsLoadedSoFar++;}}
var loadWidgets=function(){var nextWidget;while(nextWidget=widgetsToLoad.pop()){loadWidget(nextWidget);}};var widgetsInterval=setInterval(loadWidgets,3000);loadWidgets();},Assortments:function(){var assortments=$Quivers.Dom.Get('[data-assortment]');var numAssortmentsLoaded=0;for(var i=0;i<assortments.length;i++){if(typeof assortments[i]!=="function"){if(assortments[i].hasAttribute("loading")==false){assortments[i].setAttribute("data-quivers","true");assortments[i].setAttribute("quivers-view","true");assortments[i].setAttribute("quivers-bootstrap","true");assortments[i].setAttribute("loading","true");assortments[i].id="qAssortment-"+assortments[i].getAttribute("data-assortment");var productsOnly=assortments[i].hasAttribute("data-products-only")?assortments[i].getAttribute("data-products-only"):"true";window[this.MarketplaceId].Get("module?Module=assortment"+"&Assortment="+assortments[i].getAttribute("data-assortment")+"&Element="+assortments[i].id+"&ProductsOnly="+productsOnly,function(data){data=$Quivers.Utilities.FormatResult(data);var products=[];for(var i in data.Result.Data.Products){if(typeof data.Result.Data.Products!=="function"&&!isNaN(parseInt(i))){if(data.Result.Data.Products[i].RefId==""||data.Result.Data.Products[i].RefId==null)
data.Result.Data.Products[i].RefId="0";products.push(data.Result.Data.Products[i].RefId);}}
window[data.Result.Marketplace].Criteo.Push({event:"viewList",item:products});window[data.Result.Marketplace].Analytics.ImpressionHit(data.Result.Data,"Assortment");numAssortmentsLoaded++;});}}}},ReviewWidgets:function(){var reviews=$Quivers.Dom.Get('[data-reviews]');for(var i=0;i<reviews.length;i++){if(typeof reviews[i]!=="function"){if(reviews[i].hasAttribute("loading")==false){reviews[i].setAttribute("data-quivers","true");reviews[i].setAttribute("quivers-view","true");reviews[i].setAttribute("quivers-bootstrap","true");reviews[i].setAttribute("loading","true");reviews[i].id="qReviews-"+reviews[i].getAttribute("data-reviews");window[this.MarketplaceId].Get("module?Module=review"+"&ProductId="+reviews[i].getAttribute("data-reviews")+"&Element="+reviews[i].id);}}}},ResetPage:function(){var page=document.getElementById("qCurrentPage");if(page)
page.value=1;},PopulateSiteMap:function(){var productUrlScheme=window[this.MarketplaceId].GetUrlScheme("Product","");if(window[this.MarketplaceId].Settings.Pages.Products.PageUrl!==null&&window[this.MarketplaceId].Settings.Pages.Products.PageUrl!=""){productUrlScheme=window[this.MarketplaceId].Settings.Pages.Products.PageUrl+productUrlScheme;}
else if(window[this.MarketplaceId].Settings.General.HomeUrl!==null&&window[this.MarketplaceId].Settings.General.HomeUrl!=""){productUrlScheme=window[this.MarketplaceId].Settings.General.HomeUrl+productUrlScheme;}
else{productUrlScheme=location.protocol+"//"+location.hostname+location.pathname+productUrlScheme;}
var subdomainParts=location.host.split(".");try{if(subdomainParts.length-2>=0)
var subdomain=subdomainParts[subdomainParts.length-2];else
var subdomain=subdomainParts[0];}
catch(err){try{var subdomain=location.host.split(".")[1];}
catch(err){var subdomain=location.host;}}
if(typeof subdomain=="object"&&subdomain instanceof Array)
subdomain=subdomain[0];try{while(subdomain.indexOf(".")>-1){subdomain.replace(".","");}}
catch(err){}
if(isNaN(parseInt(subdomain))&&subdomain.indexOf(".")===-1&&subdomain.indexOf("localhost")===-1&&subdomain.indexOf(":")===-1){window[this.MarketplaceId].Post("sitemap",{UrlScheme:productUrlScheme,Subdomain:subdomain},function(data){data=$Quivers.Utilities.FormatResult(data);});}}}
$Quivers["/api/v1/user/cart/subscribeForBackInStock"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);var btns=$Quivers.Dom.Get('#SubscribeForBackInStock-Submit');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
$Quivers.Dom.CreateAlert("qSubscribeForBackInStockAlerts","success",data.Result.Html);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var btns=$Quivers.Dom.Get('#SubscribeForBackInStock-Submit');for(var i in btns){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
$Quivers.Dom.CreateAlert("qSubscribeForBackInStockAlerts","danger",data.Result.Html);}}
QuiversCheckout=function(client,authStatus,cart){var self=this;self.Client=client;self.AuthStatus=authStatus;self.States=['Cart','Customer','Shipping','Payment'];self.FurthestStateReached=null;self.CartToken=typeof cart!=="undefined"?cart.Token:null;self.ShippingAddress=typeof cart!=="undefined"?cart.ShippingAddress:null;self.BillingAddress=typeof cart!=="undefined"?cart.BillingAddress:null;self.DeliveryMethod=typeof cart!=="undefined"&&cart.DeliveryMethod!=null?cart.DeliveryMethod:null;self.PaymentGateway=cart.PaymentGateway;self.IsPayPal=false;if(window.location.protocol=="http:"&&location.hostname.indexOf("localhost")===-1){let httpsURL=window.location.href.replace("http://","https://");if(window.location.href!=httpsURL)
window.location.href=httpsURL;}
if(self.ShippingAddress!=null||self.DeliveryMethod=="Instore Pickup"){self.Client.Get('user/cart/preparePayment',function(settings){settings=$Quivers.Utilities.FormatResult(settings);self.Payment.Settings=$Quivers.Utilities.FormatResult(settings);if($Quivers.Utilities.GetQuery("PayPal")!==""){var d=$Quivers.Utilities.GetQuery("PayPal").split("?")[0];var parameters={PayerID:$Quivers.Utilities.GetQuery("PayerID"),paymentId:$Quivers.Utilities.GetQuery("paymentId"),token:$Quivers.Utilities.GetQuery("token")};history.replaceState(null,null,window.location.search.split("&PayPal")[0]);self.CompletePayPal({Success:(d.toLowerCase()=="success"),Parameters:parameters});}});}
self.MountedElements=[];self.Payment={Bluesnap:{Instance:null,Device:null,Payment:null},PayPal:{IframeBase:null,Total:typeof cart!=="undefined"?cart.Total:0.00,Result:null,Settings:typeof cart.PayPalOrderId!=="undefined"?{OrderId:cart.PayPalOrderId}:null,Started:false},Stripe:{Payment:null},Settings:null};switch(self.Client.Environment.toLowerCase()){case"live":self.Payment.PayPal.IframeBase="https://hovercart.quivers.com/iframes/";break;case"demo":self.Payment.PayPal.IframeBase="https://hovercart.quiversdemo.com/iframes/";break;case"test":self.Payment.PayPal.IframeBase="https://hovercart.quiverstest.com/iframes/";break;case"prod_aws":self.Payment.PayPal.IframeBase="https://hovercart.quivers.com/iframes/";break;case"demo_aws":self.Payment.PayPal.IframeBase="https://hovercart.quiversdemo.com/iframes/";break;case"test_aws":self.Payment.PayPal.IframeBase="https://hovercart.quiverstest.com/iframes/";break;case"local":self.Payment.PayPal.IframeBase="https://localhost/iframes/";break;}
if((self.ShippingAddress!=null&&cart.HasUnshippableItems==false)){if(self.DeliveryMethod==null)
self.ToggleState("Shipping");else
self.ToggleState("Payment");}
else
self.ToggleState("Customer");try{window._mfq=window._mfq||[];$Quivers.Utilities.LoadScript("//cdn.mouseflow.com/projects/"+self.Client.MouseflowId+".js");}
catch(err){console.warn(err);}}
QuiversCheckout.prototype.NextState=function(){var self=this;var tryIndex=self.States.indexOf(self.State)+1;var state=self.FurthestStateReached-2>tryIndex?self.States[self.FurthestStateReached-2]:self.States[tryIndex];if(typeof state!=="undefined")
this.ToggleState(state);}
QuiversCheckout.prototype.PreviousState=function(){this.ToggleState(this.States[this.States.indexOf(this.State)-1]);}
QuiversCheckout.prototype.ToggleState=function(state){var self=this;try{if(state.toLowerCase()!="payment"&&self.Payment.PayPal.Started==true){try{self.Client.Socket.send(JSON.stringify({Type:"Client",Command:"cancelPayPal",Session:self.Client.SessionId}));}
catch(err){console.warn(err);}}
switch(typeof state!="undefined"?state.toLowerCase():null){case"customer":{self.State="Customer";self.StatePosition=2;var shippingAddressId=self.ShippingAddress!==null?self.ShippingAddress.Id:null;if(typeof self.Client.Settings.Extensions.ShopEmployee=="undefined"||self.Client.Settings.Extensions.ShopEmployee.Enabled==false){var s=new QuiversAddressForm(self.Client,"Shipping",false,shippingAddressId);}
try{var countryPicker=document.getElementById('qAddressCountry');countryPicker.addEventListener("click",function(evt){var country=countryPicker.options[countryPicker.selectedIndex].getAttribute("data-abrv");var callingCode=$Quivers.Dom.Get('[name="PhonePrefix"]')[0];var newCode=null;for(var i=0;i<callingCode.options.length;i++){var option=callingCode.options[i];if(option.getAttribute('data-countries').indexOf(country)!==-1)
callingCode.selectedIndex=i;}})}
catch(err){console.warn(err);}
break;}
case"shipping":{var poBoxPattern=/\b(?:p\.?[\s\-]*o\.?[\s\-]*box|post[\s\-]*office(?:\s*box)?|post[\s\-]*box)\b(?!\s*(?:street|st|road|rd|avenue|ave|drive|dr|lane|ln|boulevard|blvd)\b)/i;if(self.ShippingAddress==null&&self.DeliveryMethod!="Instore Pickup"){var validation=self.Client.AddressDialog.Validate(self.Client.AddressDialog.FormElement);if(!validation){$Quivers.Dom.TriggerError(self.Client.$("InvalidShippingAddress","checkout"),self.Client.$("InvalidShippingAddressMessage","checkout"));document.getElementById("qAddressUI").setAttribute("data-validation","bad");return false;}
else{if(self.Client.Settings.Checkout.AllowPOBoxes===false){var addr1El=document.getElementById('qAddressLine1');var addr2El=document.getElementById('qAddressLine2');var addr1Val=addr1El?addr1El.value:'';var addr2Val=addr2El?addr2El.value:'';if(poBoxPattern.test(addr1Val)||poBoxPattern.test(addr2Val)){$Quivers.Dom.TriggerError("PO Box Not Allowed","This business does not allow shipping to PO Boxes.");document.getElementById("qAddressUI").setAttribute("data-validation","bad");return false;}}
self.Client.Forms.Submit('setAddress','setAddress-Submit');return false;}}
if(self.ShippingAddress!=null&&self.Client.Settings.Checkout.AllowPOBoxes===false){var savedAddr1=self.ShippingAddress.Address1||'';var savedAddr2=self.ShippingAddress.Address2||'';if(poBoxPattern.test(savedAddr1)||poBoxPattern.test(savedAddr2)){$Quivers.Dom.TriggerError("PO Box Not Allowed","This business does not allow shipping to PO Boxes.");return false;}}
self.State="Shipping";self.StatePosition=3;break;}
case"payment":{if(self.DeliveryMethod==null){$Quivers.Dom.TriggerError(self.Client.$("InvalidDeliveryMethod","checkout"),self.Client.$("InvalidDeliveryMethodMessage","checkout"));document.getElementById("qShippingOptionsPicker").setAttribute("data-validation","bad");return false;}
self.State="Payment";self.StatePosition=4;if(self.Client.Settings.Checkout.ShowDiscountPopup==true)
self.DiscountsDialog();self.PreparePayment();break;}}
self.Client.Analytics.CheckoutStep(self.StatePosition);if(self.StatePosition>self.FurthestStateReached)
self.FurthestStateReached=self.StatePosition;var states=$Quivers.Dom.Get('[data-checkout-state]');var uis=$Quivers.Dom.Get('[data-checkout-ui]');for(var i=0;i<states.length;i++){uis[i].className="hidden";if(parseInt(states[i].getAttribute("data-checkout-position"))==self.StatePosition){document.getElementById("qCheckoutProgression").setAttribute('data-state',states[i].getAttribute("data-checkout-position"));states[i].setAttribute("data-checkout-status","active");states[i].setAttribute("aria-current","checkout step");uis[i].className="visible";}
else if(parseInt(states[i].getAttribute("data-checkout-position"))==self.StatePosition+1)
states[i].setAttribute("data-checkout-status","clickable");else if(parseInt(states[i].getAttribute("data-checkout-position"))<self.StatePosition)
states[i].setAttribute("data-checkout-status","finished");else
states[i].setAttribute("data-checkout-status","disabled");}
$Quivers.Dom.LevelElements("qHeightRow");window.scrollTo(0,0);return true;}
catch(err){console.warn(err);}}
QuiversCheckout.prototype.DiscountsDialog=function(){var self=this;var message="Do you have a promotional code? Add it now:";message+="<input class=\"form-control\" id=\"qDiscountCodeInput\" data-marketplace=\""+self.Client.Marketplace+"\" placeholder=\""+self.Client.$("ApplyDiscountBtnPlaceholder","discounts")+"\" name=\"DiscountCode\">";message+="<div class=\"qSubmitArea\"><a class=\"qWidgetButton\" tabindex=\"0\" onclick=\"$Quivers.Dom.CloseDialog();\" onkeypress=\"$Quivers.Dom.CloseDialog();\" id=\"qDiscountDialogSubmit\">I don't have a code.</a></div>";$Quivers.Dom.TriggerNotice("Promotional Code",message);}
QuiversCheckout.prototype.SelectShippingAddress=function(addressId){var self=this;if(addressId==null){self.ShippingAddress=null;return false;}
$Quivers.Dom.Get('.qAddressPickButton[data-address="'+addressId+'"]').forEach(function(btn){btn.setAttribute("working","true");});document.getElementById("qShippingOptions").setAttribute("refreshing","true");self.Client.Post("user/cart/setShippingAddress",{AddressId:addressId},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){self.SetShippingAddress(data);}
else{if(data.Result.Data.HasAvailableItems==false){self.ShippingAddress=null;}
if(data.Result.Data.Address.StateProvince!="Other")
var msg=self.Client.$("CantShipToMessage1","checkout")+data.Result.Data.Address.StateProvince+", "+data.Result.Data.Address.Country+self.Client.$("CantShipToMessage2","checkout");else
var msg=self.Client.$("CantShipToMessage1","checkout")+data.Result.Data.Address.Country+self.Client.$("CantShipToMessage2","checkout");var btns=$Quivers.Dom.Get(".qAddressPickButton[data-context='Shipping']");for(var b=0;b<btns.length;b++){if(typeof btns[b]!=="function"){btns[b].setAttribute('data-selected','false');btns[b].innerHTML=self.Client.$("ShipHereBtn","addresses");}}
$Quivers.Dom.TriggerError("Invalid Shipping Address",msg);document.getElementById("qAddressesPanel").setAttribute("data-validation","bad");}
$Quivers.Dom.Get('.qAddressPickButton[data-address="'+addressId+'"]').forEach(function(btn){btn.setAttribute("working","false");});document.getElementById("qShippingOptions").removeAttribute("refreshing");});}
QuiversCheckout.prototype.SetShippingAddress=function(data){var self=this;if(data.Result.Data!==null){self.ShippingAddress=data.Result.Data.Address;self.DeliveryMethod=data.Result.Data.DeliveryMethod;}
if(self.BillingAddress==null&&(typeof self.Client.Settings.Extensions.ShopEmployee=="undefined"||self.Client.Settings.Extensions.ShopEmployee.Enabled==false)){self.BillingAddress=data.Result.Data.Address;}
var btns=$Quivers.Dom.Get(".qAddressPickButton[data-context='Shipping']");for(var b=0;b<btns.length;b++){if(typeof btns[b]!=="function"){if(btns[b].getAttribute("data-address")==data.Result.Data.Address.Id){btns[b].setAttribute('data-selected','true');btns[b].innerHTML='<span class="glyphicon glyphicon-ok"></span> '+self.Client.$("ShippingHereLabel","addresses");}
else{btns[b].setAttribute('data-selected','false');btns[b].innerHTML=self.Client.$("ShipHereBtn","addresses");}}}
if(document.getElementById("qAddressesPanel"))
document.getElementById("qAddressesPanel").removeAttribute("data-validation");if(document.getElementById("qShippingOptionsPicker"))
document.getElementById("qShippingOptionsPicker").removeAttribute("data-validation");if(data.Result.Data.HasOnlyInstorePickupItems==true){document.getElementById("qShippingOptionsContainer").className="col-xs-12 col-lg-6 col-lg-offset-3";document.getElementById("qShippingAddressPickerContainer").parentNode.removeChild(document.getElementById("qShippingAddressPickerContainer"));}
document.getElementById("qShippingOptions").innerHTML=data.Result.Html;self.UpdateTotals();self.Client.Get("module?Module=addressSummary&Context=Shipping&AllowChanges=false&Element=qReviewShippingAddressSummary",function(a){a=$Quivers.Utilities.FormatResult(a);var elem=document.getElementById('qDeliveryShippingAddressSummary');if(elem)
$Quivers.Dom.ReplaceHtml(elem,a.Result.Html);});self.Client.Get("module?Module=addressSummary&Context=Billing&AllowChanges=false&Element=qReviewBillingAddressSummary");self.Client.Get("module?Module=cartShippingSummary&Element=qShippingSummary");self.Client.Get('user/cart/preparePayment',function(settings){settings=$Quivers.Utilities.FormatResult(settings);self.Payment.Settings=$Quivers.Utilities.FormatResult(settings);});self.NextState();}
QuiversCheckout.prototype.BillingAddressPicker=function(){var self=this;if(self.AuthStatus=="LoggedIn"){self.Client.Get("module?Module=addresses&Context=Billing",function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.TriggerDialog("Pick Billing Address",data.Result.Html,"large");$Quivers.Dom.LevelElements("qHeightRow");});}
else{new QuiversAddressForm(self.Client,'Billing',true);$Quivers.Dom.LevelElements("qHeightRow");}}
QuiversCheckout.prototype.SelectBillingAddress=function(addressId){var self=this;if(addressId==null){self.BillingAddress=null;return false;}
$Quivers.Dom.Get('.qAddressPickButton[data-address="'+addressId+'"]').forEach(function(btn){btn.setAttribute("working","true");});self.Client.Post("user/cart/setBillingAddress",{AddressId:addressId},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){self.BillingAddress=data.Result.Data.Address;if(document.getElementById("qReviewBillingAddressSummary"))
document.getElementById("qReviewBillingAddressSummary").removeAttribute("data-validation");document.getElementById("qReviewBillingAddressSummary").innerHTML=data.Result.Html;}
else{$Quivers.Dom.TriggerError("Invalid Billing Address","Error setting Billing Address! Please try again.");}
$Quivers.Dom.CloseDialog();$Quivers.Dom.Get('.qAddressPickButton[data-address="'+addressId+'"]').forEach(function(btn){btn.setAttribute("working","false");});});}
QuiversCheckout.prototype.SelectDeliveryMethod=function(method){var self=this;if(typeof method=="undefined")
var method=$Quivers.Dom.Get('input[name="qDeliveryMethod"]:checked')[0].value;switch(method.toLowerCase()){case"standard":{try{document.getElementById("qStandardShippingMethod").checked=true;}catch(err){}
self.DeliveryMethod="Standard";break;}
case"expedited":{try{document.getElementById("qExpeditedShippingMethod").checked=true;}catch(err){}
self.DeliveryMethod="Expedited";break;}
case"instore pickup":{document.getElementById("qInstorePickupShippingMethod").checked=true;self.DeliveryMethod="Instore Pickup";break;}
case"whiteglove":{try{document.getElementById("qWhitegloveShippingMethod").checked=true;}catch(err){}
self.DeliveryMethod="Whiteglove";break;}
default:{try{document.getElementById("qStandardShippingMethod").checked=false;document.getElementById("qExpeditedShippingMethod").checked=false;}catch(err){}
try{document.getElementById("qInstorePickupShippingMethod").checked=false;}catch(err){}
self.DeliveryMethod=null;break;}}
document.getElementById("qShippingOptions").setAttribute("refreshing","true");this.Client.Post("user/cart/setDeliveryMethod",{DeliveryMethod:self.DeliveryMethod},function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){document.getElementById("qShippingOptions").innerHTML=data.Result.Html;self.Client.Get("module?Module=cartShippingSummary&Element=qShippingSummary");self.UpdateTotals();}
else{console.warn(data);}
document.getElementById("qShippingOptions").removeAttribute("refreshing");})}
QuiversCheckout.prototype.UpdateTotals=function(cart){var self=this;try{self.TeardownStripe();}
catch(err){console.warn(err);}
self.Client.Get("module?Module=cartReview&Element=qCartReviewPane",function(data){self.Client.Get("module?Module=cartPayment&Element=qCheckoutPaymentModule",function(d){self.Payment.PayPal.Total=data.Result.Data.PayPalTotal;self.UpdatePayPalToken();document.getElementById("qOrderTotals").setAttribute("data-validation","info");setTimeout(function(){document.getElementById("qOrderTotals").removeAttribute("data-validation");},300);try{var symbol=$Quivers.Dom.Get("#qPayLaterAmount .qMoneyAmount .qCurrencySymbol");var symbol=symbol[0].innerHTML[0];var currencyCode=$Quivers.Dom.Get("#qPayLaterAmount .qCurrency")[0].innerHTML;document.getElementById("qPayLaterAmount").innerHTML='<span class="qCurrencySymbol">'+symbol+'</span';document.getElementById("qPayLaterAmount").innerHTML+=(self.Payment.PayPal.Total/4).toFixed(2);document.getElementById("qPayLaterAmount").innerHTML+='<span class="qCurrency">'+currencyCode+'</span>';}
catch(err){console.warn(err);}
try{self.SelectPaymentMethod('CreditCard');document.getElementById('qBlueSnapCreditCardMethod').checked=true;document.getElementById('qBankPayMethod').checked=false;document.getElementById('qPayLaterMethod').checked=false;document.getElementById("qPayLaterMount").innerHTML='<img src="https://hovercart.quivers.com/img/loading.gif">';}
catch(err){console.warn(err);}
try{self.PrepareStripe();}
catch(err){console.warn(err);}});});}
QuiversCheckout.prototype.ChangeUser=function(){var self=this;self.Client.Get("logout",function(data){data=$Quivers.Utilities.FormatResult(data);self.Client.View("Login");})}
QuiversCheckout.prototype.PrepareGateways=function(){var self=this;if(self.PaymentGateway=="Stripe")
self.PrepareStripe();else if(self.PaymentGateway=="Bluesnap")
self.PrepareBluesnap('qConfirmPaymentBluesnap');self.PreparePayPal();}
QuiversCheckout.prototype.PreparePayment=function(){var self=this;if(self.Payment.Settings==null){var dropinInterval=setInterval(function(){if(self.Payment.Settings!=null){clearInterval(dropinInterval);self.PrepareGateways();}},100);}
else{self.PrepareGateways();}}
QuiversCheckout.prototype.PrepareCertegy=function(method){var self=this;var settings=self.Payment.Settings.Result.Data.Certegy;if(settings){self.certegy=new BankPay.Sdk(settings);if(method=="PayLater"){self.Client.Get('user/cart/prepareTransaction?type=certegy',function(intent){intent=$Quivers.Utilities.FormatResult(intent);var html=intent.Result.Html;self.Payment.Certegy=intent.Result.Data.result;document.getElementById('qPayLaterMount').innerHTML=html;return;});}
if(method=="BankPay"){self.BlockScreen(false);self.Client.Get('user/cart/prepareTransaction?type=certegy',function(intent){intent=$Quivers.Utilities.FormatResult(intent);intent=intent.Result.Data.result;self.SetupCertegyWebviews(intent.id);});}}}
QuiversCheckout.prototype.PayLaterProceed=function(){var self=this;self.BlockScreen(false);self.SetupCertegyWebviews(self.Payment.Certegy.id);}
QuiversCheckout.prototype.SetupCertegyWebviews=function(intentId){var self=this;var webview=self.certegy.createEnrollment(intentId);webview.open();webview.events.addEventListener(BankPay.EventName.Cancel,({data})=>{self.SelectPaymentMethod('CreditCard');document.getElementById('qBlueSnapCreditCardMethod').checked=true;document.getElementById('qBankPayMethod').checked=false;document.getElementById('qPayLaterMethod').checked=false;document.getElementById("qPayLaterMount").innerHTML='<img src="https://hovercart.quivers.com/img/loading.gif">';self.ReleaseScreen();});webview.events.addEventListener(BankPay.EventName.Failure,({data})=>{self.SelectPaymentMethod('CreditCard');document.getElementById('qBlueSnapCreditCardMethod').checked=true;document.getElementById('qBankPayMethod').checked=false;document.getElementById('qPayLaterMethod').checked=false;self.ReleaseScreen();});webview.events.addEventListener(BankPay.EventName.Close,({data})=>{if(typeof self.Payment.Certegy=="undefined")
self.Payment.Certegy={};if(self.Payment.Certegy.WaitingForIntent==true)
self.BlockScreen(true);});webview.events.addEventListener(BankPay.EventName.ReadyForAuthorization,({data})=>{var type=(document.getElementById('qPayLaterMethod').checked)?"PayLater":"BankPay";if(typeof self.Payment.Certegy=="undefined")
self.Payment.Certegy={};self.Payment.Certegy.WaitingForIntent=true;self.Client.Get('user/cart/prepareTransaction?type='+type+'&intentId='+data.intentId,function(intent){var result=$Quivers.Utilities.FormatResult(intent);result=intent.Result.Data.result;self.Payment.Certegy=result;self.Payment.Certegy.WaitingForIntent=false;});});webview.events.addEventListener(BankPay.EventName.Success,({data})=>{self.BlockScreen();var waitForPayment=setInterval(()=>{if(self.Payment.Certegy&&self.Payment.Certegy.id.indexOf("transaction_intent")===0){clearInterval(waitForPayment);self.PlaceOrder();}},100)});}
QuiversCheckout.prototype.PreparePayPal=function(){var self=this;var paypalContainer=document.getElementById("qPayPalIframeContainer");if(paypalContainer){if($Quivers.Utilities.IsMobileDevice()==false){var frame=document.createElement("iframe");frame.id="qPayPalIFrame";frame.src=self.Payment.PayPal.IframeBase+"paypal.php?SessionId="+self.Client.SessionId;frame.setAttribute('scrolling','no');document.getElementById("qPayPalIframeContainer").innerHTML="";document.getElementById("qPayPalIframeContainer").appendChild(frame);var oncePaymentSettingsAreReceived=setInterval(function(){if(self.Payment.Settings!==null&&typeof self.Payment.Settings.Result!=="undefined"){clearInterval(oncePaymentSettingsAreReceived);self.UpdatePayPalToken();}},250);}
else{var url="CartLight/PayPalPaymentSetup?Amount="+self.Payment.PayPal.Total+"&Currency="+self.Client.Currency+"&BusinessName="+self.Payment.Settings.Result.Data.PayPal.BusinessName;url+="&CancelUrl="+encodeURIComponent(window.location.href+"&PayPal=Failed");url+="&ReturnUrl="+encodeURIComponent(window.location.href+"&PayPal=Success");self.Client.Cloudhub.get(url,function(paypalToken){if(paypalToken!==null&&typeof paypalToken!=="undefined"&&typeof paypalToken.RedirectUrl!=="undefined"){self.Payment.PayPal.Settings=paypalToken;var elem=document.getElementById("qBluesnapPaymentTypePayPal");elem.addEventListener("click",function(evt){document.getElementById("qBlueSnapPayPalMethod").checked=true;self.Client.Post("user/cart/paypalOrderId",{PayPalOrderId:self.Payment.PayPal.Settings.OrderId},function(data){data=$Quivers.Utilities.FormatResult(data);try{paypal.checkout.setup(self.Payment.Settings.Result.Data.PayPal.Account,{environment:self.Payment.Settings.Result.Data.PayPal.Environment});paypal.checkout.initXO();paypal.checkout.startFlow(paypalToken.RedirectUrl);}
catch(err){console.warn(err);document.getElementById("qBlueSnapPayPalMethod").checked=false;var creditCard=document.getElementById("qBlueSnapCreditCardMethod");if(creditCard){creditCard.checked=true;self.SelectPaymentMethod("CreditCard");}
$Quivers.Dom.TriggerError(self.Client.$("PayPalUnavailable","checkout"),self.Client.$("PayPalUnavailableMessage","checkout"));}});});elem.setAttribute('data-paypal',"Ready");}});}}}
QuiversCheckout.prototype.UpdatePayPalToken=function(){var self=this;if(document.getElementById("qPayPalIFrame")){var frame=document.getElementById("qPayPalIFrame").src;var url="CartLight/PayPalPaymentSetup?Amount="+self.Payment.PayPal.Total+"&Currency="+self.Client.Currency+"&BusinessName="+self.Payment.Settings.Result.Data.PayPal.BusinessName;url+="&CancelUrl="+encodeURIComponent(self.Payment.PayPal.IframeBase+"paypal_cancel.php?SessionId="+self.Client.SessionId);url+="&ReturnUrl="+encodeURIComponent(self.Payment.PayPal.IframeBase+"paypal_success.php?SessionId="+self.Client.SessionId);self.Client.Cloudhub.get(url,function(paypalToken){if(paypalToken===null||typeof paypalToken=="undefined"||typeof paypalToken.RedirectUrl=="undefined"){if(document.getElementById("qBluesnapPaymentTypePayPal")){document.getElementById("qBluesnapPaymentTypePayPal").setAttribute('data-paypal',"NotReady");}}
else{self.Payment.PayPal.Settings=paypalToken;self.PayPalInterval=setInterval(function(){try{if(self.Client.Socket.readyState==1){var msg={Type:"Client",Command:"PayPalToken",PayPal:{Url:self.Payment.PayPal.Settings.RedirectUrl,Account:self.Payment.Settings.Result.Data.PayPal.Account,Environment:self.Client.Environment=="live"||self.Client.Environment=="prod_aws"?"production":"sandbox"},Session:self.Client.SessionId};self.Client.Get("ping");self.Client.Socket.send(JSON.stringify(msg));}}
catch(err){console.warn(err);}},2000);}});}}
QuiversCheckout.prototype.CompletePayPal=function(paypalData){var self=this;clearInterval(self.PayPalInterval);if(self.BillingAddress==null){$Quivers.Dom.TriggerError(self.Client.$("InvalidBillingAddress","checkout"),self.Client.$("InvalidBillingAddressMessage","checkout"));document.getElementById("qReviewBillingAddressSummary").setAttribute("data-validation","bad");return false;}
if(paypalData.Success===true){self.Payment.PayPal.Result=paypalData;self.IsPayPal=true;self.PlaceOrder();}
else{document.getElementById("qBlueSnapCreditCardMethod").checked=true;document.getElementById("qBluesnapPaymentTypePayPal").setAttribute('data-paypal',"NotReady");self.UpdatePayPalToken();}}
QuiversCheckout.prototype.PrepareBluesnap=function(div_id){var self=this;self.Payment.Bluesnap.Instance={hostedPaymentFields:{ccn:"ccn",cvv:"cvv",exp:"exp"},onFieldEventHandler:{onFocus:function(tagId){var frame=$Quivers.Dom.Get('iframe[type="'+tagId+'"]')[0];if(frame)
frame.setAttribute("data-validation","info");},onBlur:function(tagId){var frame=$Quivers.Dom.Get('iframe[type="'+tagId+'"]')[0];if(frame)
frame.removeAttribute("data-validation");},onError:function(tagId,errorCode){var frame=$Quivers.Dom.Get('iframe[type="'+tagId+'"]')[0];if(frame)
frame.setAttribute("data-validation","bad");switch(tagId){case"ccn":$Quivers.Dom.CreateAlert("qBluesnapValidation-ccn","danger","<strong>Credit Card Number</strong> is invalid. Please ensure you have entered a valid card number.",false);break;case"cvv":$Quivers.Dom.CreateAlert("qBluesnapValidation-cvv","danger","<strong>CVV/CVC Code</strong> is invalid. Please ensure you have entered the security code found on the back of your credit card.",false);break;case"exp":$Quivers.Dom.CreateAlert("qBluesnapValidation-exp","danger","<strong>Expiration Date</strong> is invalid. Please ensure you have entered a future expiration date, in the MM/YYYY format.",false);break;}},onEmpty:function(tagId,errorCode){var frame=$Quivers.Dom.Get('iframe[type="'+tagId+'"]')[0];if(frame)
frame.setAttribute("data-validation","bad");},onType:function(tagId,cardType){var cardIcon=document.getElementById("qBluesnapCardType");switch(cardType){case"AmericanExpress":var card="amex";break;case"DinersClub":var card="diners";break;case"Discover":var card="discover";break;case"JCB":var card="jcb";break;case"MaestroUK":var card="maestro";break;case"MasterCard":var card="mastercard";break;case"Visa":var card="visa";break;case"Solo":var card="solo";break;case"CarteBleue":var card="cb";break;case"ChinaUnionPay":var card="cup";break;default:var card=cardType;}
if(cardType){cardIcon.src="https://ws.bluesnap.com/services/hosted-payment-fields/cc-types/"+card.toLowerCase()+".png";cardIcon.title=cardType;cardIcon.className="visible";}
else{cardIcon.src="";cardIcon.title="";cardIcon.className="hidden";}},onValid:function(tagId){document.getElementById('qBluesnapValidation-'+tagId).innerHTML="";var frame=$Quivers.Dom.Get('iframe[type="'+tagId+'"]')[0];if(frame)
frame.setAttribute("data-validation","good");},},style:{"input":{"font-family":"consolas, courier","font-size":"18px","font-weight":"bold"}},ccnPlaceHolder:self.Client.$("PaymentFieldPlaceholderCCN","checkout"),cvvPlaceHolder:self.Client.$("PaymentFieldPlaceholderCVV","checkout"),expPlaceHolder:self.Client.$("PaymentFieldPlaceholderEXP","checkout")};bluesnap.hostedPaymentFieldsCreation(self.Payment.Settings.Result.Data.Token,self.Payment.Bluesnap.Instance);if(self.Payment.Settings.Result.Data.PayPal.Enabled===false){document.getElementById("qBluesnapPaymentTypePayPal").className="hidden";}}
QuiversCheckout.prototype.ValidateBluesnap=function(){var self=this;bluesnap.submitCredentials(function(cardData){self.Payment.Bluesnap.Payment=cardData;self.PlaceOrder();});return false;}
QuiversCheckout.prototype.TeardownBluesnap=function(){var self=this;console.log("Tearing down Bluesnap.");try{self.Payment.Bluesnap={Instance:null,Device:null,Payment:null};self.Payment.Settings=null;try{self.Client.Socket.send(JSON.stringify({Type:"Client",Command:"cancelPayPal",Session:self.Client.SessionId}));}
catch(err){console.warn(err);}}
catch(err){console.log(err);}}
QuiversCheckout.prototype.PrepareStripeWallets=function(){var self=this;var stripe=Stripe(this.Client.StripePublicKey);var elements=stripe.elements();var disableWalletOption=function(){let walletMethodElement=document.getElementById('qPaymentMethod-StripeWallet');walletMethodElement.setAttribute("data-wallet","NotAvailable");walletMethodElement.setAttribute('title','You do not have any GooglePay or ApplePay wallets available to use.')
document.getElementById('qStripeWalletMount').innerHTML='<div class="alert alert-danger">To use this payment method you must be signed into either your Google or Apple account. To continue, please login or save your payment method via your browser.</div>';}
try{var supported=document.getElementById('qStripeWalletMount');if(!supported)
return;var request=stripe.paymentRequest({country:'US',currency:self.Client.Currency.toLowerCase(),total:{label:'Order Total',amount:Math.ceil(self.Payment.PayPal.Total*100),},requestPayerName:true,requestPayerEmail:true,});var walletButton=elements.create('paymentRequestButton',{paymentRequest:request})
request.canMakePayment().then(function(result){if(result){walletButton.mount('#qStripeWalletMount');}
else
disableWalletOption();}).catch(function(err){disableWalletOption();});request.on('paymentmethod',function(ev){self.Client.Get('user/cart/prepareTransaction?type=stripe',function(intent){intent=$Quivers.Utilities.FormatResult(intent);intent=intent.Result.Data.result;stripe.confirmCardPayment(intent.client_secret,{payment_method:ev.paymentMethod.id},{handleActions:false}).then(function(result){if(result.error){console.error(result.error);$Quivers.Dom.CreateAlert("qStripeWalletErrors","danger",result.error.message,false);ev.complete('fail')
return false;}
ev.complete('success');document.getElementById("qStripeWalletErrors").innerHTML="";self.PaymentGateway="StripeWallet";self.Payment.Stripe.Payment=result.paymentIntent;self.PlaceOrder();})});})}
catch(err){console.error(err);disableWalletOption();}}
QuiversCheckout.prototype.PrepareStripe=function(){console.log("PrepareStripe called")
var self=this;var stripe=Stripe(this.Client.StripePublicKey);var form=document.getElementById('qPaymentForm');if(!form)
return true;if(form.hasAttribute('data-setup'))
return true;form.setAttribute('data-setup','in-progress')
var mount=document.getElementById('qStripeCardMount');mount.innerHTML='<img src="https://'+self.Client.CDNHost+'/img/loading.gif">';form.replaceWith(form.cloneNode(true));form=document.getElementById('qPaymentForm');form.addEventListener('submit',function checkout_submit(ev){ev.preventDefault();return false;});var meta="";try{var details=self.Client.Utilities.GetBrowserAndOS();meta+="&os="+details.os+"&browser="+details.browser+"&firstname="+self.ShippingAddress.FirstName+"&lastname="+self.ShippingAddress.LastName+"&email="+self.ShippingAddress.Email;}
catch(err){console.warn(err);}
self.Client.Get('user/cart/prepareTransaction?type=stripe'+meta,function checkout_submit(intent){intent=$Quivers.Utilities.FormatResult(intent);if(intent.Result.Data.statusCode==500){console.error(intent.Result.Data.result.message)
self.ToggleState("customer");}
intent=intent.Result.Data.result;var elements=stripe.elements({clientSecret:intent.client_secret,appearance:{theme:'minimal',colorDanger:'#f22'}})
var card=elements.create('payment',{});card.mount('#qStripeCardMount');self.MountedElements.push(card);form.setAttribute('data-setup','true');form.addEventListener('submit',function(ev){ev.preventDefault();var selectedPayment=document.getElementById("qBlueSnapCreditCardMethod");if(selectedPayment.checked==false){return false;}
window.onbeforeunload=function(){return"Your credit card is currently being charged. Please do not leave this page until the checkout process is complete.";}
var paymentSuccess=function(response,error){var intent=response.setupIntent;if(intent){self.stripe_intent=intent;try{document.getElementById("qStripeCardErrors").innerHTML="";var pis=$Quivers.Dom.Get('[name="qSelectedPaymentMethod"]');for(var i=0;i<pis.length;i++){pis[i].checked=(pis[i].value=="CreditCard");}}
catch(err){}
try{self.PaymentGateway="Stripe";self.Payment.Stripe.Payment=intent;self.PlaceOrder();}
catch(err){console.log(err)
clearTimeout(timeout);self.ReleaseScreen();$Quivers.Dom.TriggerError("Failed To Process Order",err.message);return false;}}
else if(response.error){clearTimeout(timeout);self.ReleaseScreen();$Quivers.Dom.TriggerError("Failed To Process Order",response.error.message);return false;}
else{clearTimeout(timeout);self.ReleaseScreen();return false;}}
var paymentFail=function(error){console.log(error)
clearTimeout(timeout);self.ReleaseScreen();$Quivers.Dom.CreateAlert("qStripeCardErrors","danger",error.message,false);return false;}
if(self.stripe_intent&&self.stripe_intent.status=="requires_capture"){paymentSuccess({paymentIntent:self.stripe_intent});return;}
var timeout=setTimeout(function(){self.BlockScreen(true);},50);stripe.confirmSetup({elements,redirect:'if_required',confirmParams:{}}).then(paymentSuccess).catch(paymentFail)});});}
QuiversCheckout.prototype.TeardownStripe=function(){var self=this;var form=document.getElementById('qPaymentForm');if(!form)
return;if(form.hasAttribute('data-setup')){console.log("Tearing down Stripe")
form.removeAttribute('data-setup');var mount=document.getElementById('qStripeCardMount');mount.innerHTML='<img src="https://'+self.Client.CDNHost+'/img/loading.gif">';for(var i=0;i<self.MountedElements;i++){try{self.MountedElements[i].unmount();delete self.MountedElements[i];}
catch(err){console.warn(err);}}}}
QuiversCheckout.prototype.FireConversionCodeBlocks=function(order){window.QuiversOrderData=order;try{var elementId="qQuiversCampaignConversionScripts";var scripts=document.getElementById(elementId);for(var i in scripts.children){if(scripts.children[i].tagName=="SCRIPT"){try{eval(scripts.children[i].innerText);}
catch(err){console.error(err);}}}}
catch(err){console.error(err);}}
QuiversCheckout.prototype.SelectPaymentMethod=function(method){var hide=this.Client.Dom.Get(".qBillLater");hide=hide.concat(this.Client.Dom.Get(".qB2BBilling"))
hide=hide.concat(this.Client.Dom.Get(".qStripeWallet"))
hide=hide.concat(this.Client.Dom.Get(".qBankPay"))
hide=hide.concat(this.Client.Dom.Get(".qPayLater"))
for(var h of hide){if(h.id!="qPaymentMethod-"+method)
h.className=h.className.replace("visible","hidden");}
if(method=="CreditCard"){var show=document.getElementById('qPaymentForm');show.className=show.className.replace("hidden","visible");}
else{var show=document.getElementById("qPaymentMethod-"+method);show.className=show.className.replace("hidden","visible");var hide=document.getElementById('qPaymentForm');hide.className=hide.className.replace("visible","hidden");}}
QuiversCheckout.prototype.SubmitPayment=function(){var self=this;if(self.BillingAddress==null&&document.getElementById('payment-required')){$Quivers.Dom.TriggerError(self.Client.$("InvalidBillingAddress","checkout"),self.Client.$("InvalidBillingAddressMessage","checkout"));document.getElementById("qReviewBillingAddressSummary").setAttribute("data-validation","bad");return false;}
var terms=document.getElementById('qAcceptTerms');var terms_area=document.getElementById('qTermsAndConditionsAcceptance');if(terms){if(terms.checked==false){terms_area.setAttribute("data-validation","bad");return false;}
else
terms_area.removeAttribute("data-validation");}
try{if(self.Client.Settings.Extensions.Affiliation&&self.Client.Settings.Extensions.Affiliation.Enabled==true){var she_checkbox=document.getElementById("qShopEmployeeCheckbox");if(she_checkbox&&she_checkbox.checked==false){$Quivers.Dom.TriggerError("Must Certify Association","You must accept the checkbox that reads '"+document.getElementById('qShopEmployeeLabel').innerText+"'");document.getElementById("qShopEmployeeSection").setAttribute("data-validation","bad");return false;}
var radios=$Quivers.Dom.Get('input[type="radio"][name="qAffiliationType"]');var hasOneChecked=false;for(var i=0;i<radios.length;i++){if(radios[i].checked==true)
hasOneChecked=true;}
if(hasOneChecked==false){$Quivers.Dom.TriggerError("Must specify Affiliation Type","You must select an affiliation type from the highlighted list.");document.getElementById("qShopEmployeeSection").setAttribute("data-validation","bad");return false;}
var affiliationTextBox=document.getElementById('qAffiliationAreaInput');if(!affiliationTextBox.value){affiliationTextBox.setAttribute("data-validation","bad");$Quivers.Dom.TriggerError("Must specify Affiliation Area","You must specify the area you are affiliated with.");document.getElementById("qShopEmployeeSection").setAttribute("data-validation","bad");return false;}
document.getElementById("qShopEmployeeSection").removeAttribute("data-validation");affiliationTextBox.removeAttribute("data-validation");}}catch(err){console.log(err);}
var selectedPayment=null;if(document.getElementById('payment-required')){try{var pis=$Quivers.Dom.Get('[name="qSelectedPaymentMethod"]');for(var i=0;i<pis.length;i++){if(pis[i].checked==true)
selectedPayment=pis[i].value;}
if(selectedPayment=="StripeWallet"||selectedPayment=="PayPal"){$Quivers.Dom.TriggerError("Invalid Payment Option","Invalid Payment Option. Please try again.");return false;}
else if(selectedPayment!="CreditCard"){var matchingPaymentMethod=$Quivers.Dom.Get('[data-method="'+selectedPayment+'"]');if(matchingPaymentMethod.length>0){var selectedRadio=$Quivers.Dom.Get('[name="qSelectedPaymentMethod"]:checked');var paymentType=selectedRadio.length>0?selectedRadio[0].getAttribute("data-payment-type"):null;self.PaymentGateway=paymentType=="B2BBilling"?"B2BBilling":"BillLater";return this.PlaceOrder();}
else{$Quivers.Dom.TriggerError("No Payment Selected","You must specify a valid payment method to use.");}}}
catch(err){console.warn(err)}
document.getElementById("qPaymentForm").removeAttribute("data-validation");document.getElementById("qPaymentForm").scrollIntoView();if(this.PaymentGateway=="Stripe")
document.getElementById("qConfirmPaymentStripe").click();else
document.getElementById("qConfirmPaymentBluesnap").click();}
else
self.PlaceOrder();}
QuiversCheckout.prototype.BlockScreen=function(showProcessing=false){var self=this;window.onbeforeunload=function(){return"Your credit card is currently being charged. Please do not leave this page until the checkout process is complete.";}
if(self.Client.Settings.Pages.Checkout.DisplayElement!=null&&self.Client.Settings.Pages.Checkout.DisplayElement!="")
var elem=self.Client.Settings.Pages.Checkout.DisplayElement;else if(self.Client.Settings.General.DefaultDisplay!=null&&self.Client.Settings.General.DefaultDisplay!="")
var elem=self.Client.Settings.General.DefaultDisplay;var elem=document.getElementById(elem);if(elem==null)
var elem=document.getElementById("currentView");try{var ribbon=document.getElementById(self.Client.Settings.Ribbon.DisplayElement);elem.setAttribute("style","pointer-events: none; cursor: not-allowed;");if(self.Client.Settings.Ribbon.Position=="right")
ribbon.setAttribute("style","right: 0px !important; pointer-events: none; opacity: .9; cursor: not-allowed;");else
ribbon.setAttribute("style","top: 0px !important; pointer-events: none; opacity: .9; cursor: not-allowed;");}
catch(err){console.warn(err);}
if(showProcessing==true){var loadingScreen=document.getElementById("qTransactionProcessingScreen");if(loadingScreen){loadingScreen.className="visible";loadingScreen.style="display: block !important; visibility: visible !important;";}}
try{document.getElementById('closeView').style="pointer-events: none !important;";}
catch(err){console.warn(err);}}
QuiversCheckout.prototype.ReleaseScreen=function(){var self=this;window.onbeforeunload=function(){}
if(self.Client.Settings.Pages.Checkout.DisplayElement!=null&&self.Client.Settings.Pages.Checkout.DisplayElement!="")
var elem=self.Client.Settings.Pages.Checkout.DisplayElement;else if(self.Client.Settings.General.DefaultDisplay!=null&&self.Client.Settings.General.DefaultDisplay!="")
var elem=self.Client.Settings.General.DefaultDisplay;var elem=document.getElementById(elem);if(elem==null)
var elem=document.getElementById("currentView");loadingScreen=document.getElementById("qTransactionProcessingScreen");if(loadingScreen){loadingScreen.className="hidden";loadingScreen.style="display: none !important; visibility: hidden !important;";}
try{var ribbon=document.getElementById(self.Client.Settings.Ribbon.DisplayElement);if(self.Client.Settings.Ribbon.Position=="right")
ribbon.setAttribute("style","right: 0px !important;");else
ribbon.setAttribute("style","top: 0px !important;");}
catch(err){console.warn(err);}
if(elem.id!="currentView")
elem.setAttribute("style","pointer-events: all;");else
elem.setAttribute('style','');try{document.getElementById('closeView').style="";}
catch(err){console.warn(err);}}
QuiversCheckout.prototype.PlaceOrder=function(){var self=this;var btn=document.getElementById('qSubmitPaymentBtn');if(btn.getAttribute("disabled")==null){btn.setAttribute('working','true');btn.setAttribute('disabled','true');if(self.Client.Settings.Pages.Checkout.DisplayElement!=null&&self.Client.Settings.Pages.Checkout.DisplayElement!="")
var elem=self.Client.Settings.Pages.Checkout.DisplayElement;else if(self.Client.Settings.General.DefaultDisplay!=null&&self.Client.Settings.General.DefaultDisplay!="")
var elem=self.Client.Settings.General.DefaultDisplay;var elem=document.getElementById(elem);if(elem==null)
var elem=document.getElementById("currentView");self.BlockScreen(true);var fraudReviewStatus=null;try{var fraudReviewStatuses=$Quivers.Dom.Get('[name="qTestFraudReview"]');for(var i=0;i<fraudReviewStatuses.length;i++){if(fraudReviewStatuses[i].checked==true)
fraudReviewStatus=fraudReviewStatuses[i].value;}}
catch(err){}
var selectedPayment=null;try{var pis=$Quivers.Dom.Get('[name="qSelectedPaymentMethod"]');for(var i=0;i<pis.length;i++){if(pis[i].checked==true)
selectedPayment=pis[i].value;}}
catch(err){}
var marketing_checkbox=document.getElementById("qMarketingEmailsOptIn");var order_note=document.getElementById("qOrderNote");var checkoutData={PaymentGateway:self.PaymentGateway,PaymentMethod:selectedPayment,MarketplaceId:self.Client.Marketplace,EmailAddress:self.Payment.Settings.Result.User!=null?self.Payment.Settings.Result.User:self.ShippingAddress.Email,BillingAddressId:self.BillingAddress!==null?self.BillingAddress.Id:null,ShippingAddressId:self.ShippingAddress!==null?self.ShippingAddress.Id:null,CheckoutNote:(order_note)?order_note.value:null,MarketingEmailsOptIn:marketing_checkbox?marketing_checkbox.checked:null,TestFraudReviewStatus:fraudReviewStatus};try{if(self.IsPayPal||selectedPayment=="PayPal"){checkoutData.PaymentGateway="PayPal";if(!self.Payment.PayPal.Result)
throw new Error(`PayPal Payment Info not provided!`);checkoutData.PaymentData={PaymentId:self.Payment.PayPal.Result.Parameters.paymentId,PayerId:self.Payment.PayPal.Result.Parameters.PayerID,SessionId:self.Payment.PayPal.Result.Parameters.SessionId,Token:self.Payment.PayPal.Result.Parameters.token,Type:"PayPal"}}
else if(self.PaymentGateway=="Bluesnap"&&selectedPayment=="CreditCard"){if(!self.Payment.Settings.Result.Data.Token)
throw new Error(`PayPal Payment Info not provided!`);checkoutData.PaymentData={Token:self.Payment.Settings.Result.Data.Token,FraudSessionId:self.CartToken,Type:"Bluesnap"}}
else if(self.PaymentGateway=="Stripe"&&selectedPayment=="CreditCard"){checkoutData.PaymentData={Token:self.Payment.Stripe.Payment.id,Type:"Stripe"}}
else if(selectedPayment=="StripeWallet"){checkoutData.PaymentData={ChargeId:self.Payment.Stripe.Payment.id,Type:"StripeWallet"}}
else if(selectedPayment=="BankPay"||selectedPayment=="PayLater"){checkoutData.PaymentData={Token:self.Payment.Certegy.id,Type:selectedPayment}}
else{if(selectedPayment=="CreditCard"){let err=new Error(`Error:You must provide credit card details.`)
console.error(err);throw err;}
checkoutData.PaymentData={Type:self.PaymentGateway=="B2BBilling"?"B2BBilling":"BillLater",Method:selectedPayment}}}
catch(err){console.error(err);$Quivers.Dom.TriggerError("Failed To Process Order","Failed to process your order. Please enter your payment information again.");btn.removeAttribute("working");btn.removeAttribute("disabled");self.ReleaseScreen();document.getElementById("qBluesnapPaymentTypePayPal").setAttribute('data-paypal',"NotReady");self.UpdatePayPalToken();return;}
try{if(self.Client.Settings.Extensions.Affiliation&&self.Client.Settings.Extensions.Affiliation.Enabled==true){checkoutData.Affiliation={Checkbox:document.getElementById("qShopEmployeeCheckbox").checked,Area:document.getElementById('qAffiliationAreaInput').value,Type:$Quivers.Dom.Get('input[type="radio"][name="qAffiliationType"]:checked')[0].value};}}catch(err){console.log(err);}
self.Client.Post("user/cart/checkout?checkout=true",checkoutData,function(data){data=$Quivers.Utilities.FormatResult(data);self.ReleaseScreen();btn.removeAttribute("working");btn.removeAttribute("disabled");if(data.ResponseCode<300){try{delete self.stripe_intent;}
catch(err){console.warn(err);}
try{parent.window.postMessage({source:"HoverCart",type:"OrderPlaced"},"*");}
catch(err){console.warn(err);}
self.Client.CurrentView="Confirmation";var url=self.Client.GetUrlScheme("Default","Confirmation");url=self.Client.ConstructURL(url);window.history.pushState(url,url,url);elem.innerHTML=data.Result.Html;var cartCounts=$Quivers.Dom.Get("#qCartCount-Shopping");for(var c=0;c<cartCounts.length;c++)
cartCounts[c].innerHTML=0;if(typeof data.Result.Data.RemainingBoomerangCredit!=="undefined")
document.getElementById("qBoomerangRibbonCreditAmount").innerHTML="Avail. Credit:<br>"+data.Result.Data.RemainingBoomerangCredit;try{self.Client.Criteo.Transaction(data.Result.Data,self.Client.Currency);self.Client.Analytics.Purchase(data.Result.Data,self.Client.Currency);}
catch(err){console.error(err);}
try{self.FireConversionCodeBlocks(data.Result.Data);}
catch(err){console.error(err);}}
else{$Quivers.Dom.TriggerError("Failed To Process Order",data.Result.Html);if(selectedPayment=="BankPay"||selectedPayment=="PayLater"){self.SelectPaymentMethod('CreditCard');document.getElementById('qBlueSnapCreditCardMethod').checked=true;document.getElementById('qBankPayMethod').checked=false;document.getElementById('qPayLaterMethod').checked=false;}}});}}
HoverCart=function(marketplace,id,business,environment){this.Marketplace=(typeof marketplace=="string")?marketplace.toLowerCase():marketplace;if(typeof business=="undefined"||business==null||business==""){var affiliate=$Quivers.Utilities.GetQuery("Affiliate");if(affiliate=="")
affiliate=$Quivers.Utilities.GetQuery("affiliate");if(affiliate==""){try{affiliate=localStorage.getItem("quivers_hovercart_affiliate");}catch(err){console.warn(err);}}
if(affiliate!=null&&affiliate!=""){this.PointOfSaleBusiness=affiliate;this.AffiliateId=affiliate;try{localStorage.setItem("quivers_hovercart_affiliate",affiliate);}catch(err){console.warn(err);}}
else{this.PointOfSaleBusiness=null;this.AffiliateId=null;}}
else{this.PointOfSaleBusiness=business;this.AffiliateId=null;}
this.Id=id;if(typeof environment=="undefined")
this.Environment="Live";else
this.Environment=environment;$Quivers.DEBUG=true;switch(this.Environment.toLowerCase()){case"demo":this.Host="hovercart.quiversdemo.com";this.CDNHost="hovercart.quiversdemo.com";this.WebsocketHost="wss://hovercart-ws.quiversdemo.com:443/";break;case"test":this.Host="hovercart.quiverstest.com";this.CDNHost="hovercart.quiverstest.com";this.WebsocketHost="wss://hovercart-ws.quiverstest.com:443/";break;case"local":this.Host="localhost";this.CDNHost="localhost";this.WebsocketHost="wss://localhost:8443/";break;case"test_aws":this.Host="hovercart.quiverstest.com";this.CDNHost="hovercart.quiverstest.com";this.WebsocketHost="wss://hovercart-ws.quiverstest.com:443/";break;case"demo_aws":this.Host="hovercart.quiversdemo.com";this.CDNHost="hovercart.quiversdemo.com";this.WebsocketHost="wss://hovercart-ws.quiversdemo.com:443/";break;case"prod_aws":this.Host="hovercart.quivers.com";this.CDNHost="hovercart.quivers.com";this.WebsocketHost="wss://hovercart-ws.quivers.com:443/";if($Quivers.Utilities.GetQuery("Debug").toLowerCase()!="true")
$Quivers.DEBUG=false;break;default:this.Host="hovercart.quivers.com";this.CDNHost="hovercart.quivers.com";this.WebsocketHost="wss://hovercart-ws.quivers.com:443/";if($Quivers.Utilities.GetQuery("Debug").toLowerCase()!="true")
$Quivers.DEBUG=false;}
this.Api="/api/v1/";this.Version="2.17.22";this.GooglePlaces="AIzaSyDYhcAEdjDhPmpH2tfMwGmJtCV9qWi70tw";this.ClientId=$Quivers.Utilities.CreateGuid();this.Origin=document.domain;this.CurrentUrl=window.location.href;this.Callbacks=[];this.ClearWindowStorage=function(){var keys_to_persist=['quiversauth'];for(var key in localStorage){if(keys_to_persist.indexOf(key)===-1)
localStorage.removeItem(key);}
for(var key in sessionStorage){if(keys_to_persist.indexOf(key)===-1)
sessionStorage.removeItem(key);}}
try{var lastVersion=localStorage.getItem("HoverCart.Version");if(lastVersion!=null&&lastVersion!=this.Version){this.ClearWindowStorage();}}
catch(e){console.error(e);console.warn("Warning: Local Storage is either disabled, not available, or has run out of available space.");}
try{localStorage.setItem("HoverCart.Version",this.Version);}catch(e){console.error(e);console.warn("Warning: Local Storage is either disabled, not available, or has run out of available space. 'HoverCart.Version' will not be cached.");}
for(var key in $Quivers){this[key]=$Quivers[key];}
this.ThirdPartyCookiesEnabled=true;this.Addresses.MarketplaceId=this.Marketplace;this.Analytics.MarketplaceId=this.Marketplace;this.Authentication.MarketplaceId=this.Marketplace;this.GA_TrackingCodes=[];this.Cart.MarketplaceId=this.Marketplace;this.Catalog.MarketplaceId=this.Marketplace;this.Criteo.MarketplaceId=this.Marketplace;this.DisplayElements.MarketplaceId=this.Marketplace;this.Dom.MarketplaceId=this.Marketplace;this.Forms.MarketplaceId=this.Marketplace;this.Languages={};this.Orders.MarketplaceId=this.Marketplace;this.Products.MarketplaceId=this.Marketplace;this.Settings=new $Quivers.Settings();this.Settings.MarketplaceId=this.Marketplace;this.Translation.MarketplaceId=this.Marketplace;this.Urls.Paths.MarketplaceId=this.Marketplace;this.Views.MarketplaceId=this.Marketplace;this.SessionStarted=null;this.MouseflowId="d5e81974-96f9-4088-a338-3e35f4cef3ab";this.StripePublicKey=this.Environment.toLowerCase()!="prod_aws"?"pk_test_YxntslFLhlkrGr96GMYi54aH":"pk_live_cYoOdgQozAsl4UFceLAjgBVZ";if(this.Environment=="local")
this.Cloudhub=new Cloudhub(this.Marketplace,"test");else
this.Cloudhub=new Cloudhub(this.Marketplace,this.Environment);this.Cloudhub.cacheData=false;this.Connect=function(){var self=this;try{this.Socket=new WebSocket(this.WebsocketHost);this.Socket.Marketplace=this.Marketplace;this.Socket.onopen=function(msg){$Quivers.Utilities.Debug("Connection to WebSocket Server successful ("+this.readyState+")");};this.Socket.onmessage=function(msg){var data=JSON.parse(msg.data);$Quivers.Utilities.Debug(data);if(typeof data.Result=="string"){console.error(data.Result);data.Result={Error:data.Result};}
if(data.Result&&data.Result.Authenticated==false&&document.getElementById('qQuiversLogout')){self.ClearWindowStorage();window.location.reload();}
if(typeof data.Type!=="undefined"){if(typeof data.PayPal!=="undefined"&&typeof window[this.Marketplace].Checkout!=="undefined"){window[this.Marketplace].Checkout.CompletePayPal(data.PayPal);}
if(typeof data.PayPalStarted!=="undefined"){document.getElementById("qBlueSnapPayPalMethod").checked=true;window[this.Marketplace].Checkout.Payment.PayPal.Started=true;}
if(typeof data.Status!=="undefined"&&data.Status=="Connected"&&self.Checkout){clearInterval(self.Checkout.PayPalInterval);document.getElementById("qBluesnapPaymentTypePayPal").setAttribute('data-paypal',"Ready");}}
else{if(typeof window[data.Message+"-Length"]!="undefined"){$Quivers.Utilities.Debug(data.Resource+" took "+(new Date-window[data.Message+"-Length"]+" milliseconds"));delete window[data.Message+"-Length"];}
if(typeof data.Result!=="undefined"&&typeof data.Result.Error!="undefined"&&data.ResponseCode==503){for(var i in window[this.Marketplace].Callbacks){delete window[this.Marketplace].Callbacks[i];window[this.Marketplace].Socket.Reconnect=true;var resetDom=$Quivers.Dom.Get("[loading=true]")
for(var i in resetDom){resetDom[i].setAttribute("loading","false");}}}
if(typeof data.Result=="undefined")
console.warn(data);var d=new Date;if(window[this.Marketplace].Settings.Application.UseLocalCache==true){if(typeof data.Result!="undefined"){if(typeof data.Result.Cache!="undefined"&&data.Result.Cache!=false&&(d.getTime()/1000)<data.Result.Cache){try{localStorage.setItem(data.Resource+"*"+this.Marketplace,JSON.stringify(data));}catch(e){}}
else{try{localStorage.removeItem(data.Resource+"*"+this.Marketplace);}
catch(e){}}}}
if(typeof data.Resource!="object")
var resource=data.Resource.split("?")[0];if(typeof data.ResponseCode!="undefined"&&typeof resource!="undefined"&&resource!=null&&typeof window[this.Marketplace][resource]!="undefined"){if(data.ResponseCode<300){if(typeof window[this.Marketplace][resource].success=="function"){window[this.Marketplace][resource].success(data);}}
else{if(typeof window[this.Marketplace][resource].error=="function"){window[this.Marketplace][resource].error(data);}}
if(typeof window[this.Marketplace][resource].complete=="function"){window[this.Marketplace][resource].complete(data);}}
if(typeof window[this.Marketplace].Callbacks[data.Message]!="undefined")
window[this.Marketplace].Callbacks[data.Message](data);}};this.Socket.onclose=function(msg){$Quivers.Utilities.Debug("Disconnected from WebSocket Server ("+this.readyState+")");if(window[this.Marketplace].SessionStarted==false)
window[this.Marketplace].CreateSession();var reconnectInterval=setInterval(function(){if(self.Socket.readyState==WebSocket.CLOSED)
self.Reconnect();else
clearInterval(reconnectInterval);},500);};return true;}catch(ex){$Quivers.Utilities.Debug(ex);return false;}}
this.Disconnect=function(){if(this.Socket!=null){this.Socket.close();this.Socket=null;return true;}
return false;};this.Reconnect=function(){$Quivers.Utilities.Debug("HoverCart WebSocket closed. Attempting to reconnect...");this.Disconnect();this.Connect();};this.Send=function(resource,data,callback){var lang=$Quivers.Utilities.GetCookie("HoverCart-Language");if(lang==null)
lang=null;if(typeof this.Settings.General!=="undefined"){if(this.Settings.Pages.Products.PageUrl!="")
var scheme=this.Settings.Pages.Products.PageUrl+this.GetUrlScheme("Product","");else
var scheme=window.location.protocol+"//"+window.location.hostname+window.location.pathname+this.GetUrlScheme("Product","");}
else
var scheme=null;try{var timezone=Intl.DateTimeFormat().resolvedOptions().timeZone;}
catch(err){timezone=null;}
try{if(resource.indexOf("register")!==-1)
data.AffiliateId=this.AffiliateId;}
catch(err){console.warn(err);}
var message={Message:$Quivers.Utilities.CreateGuid(),Client:this.ClientId,Session:this.SessionId,Origin:window.location.hostname,Location:window.location.href,ProductUrlScheme:scheme,Environment:this.Environment,Marketplace:this.Marketplace,Resource:resource,Cache:this.Settings.Application.UseServerCache,Data:data,Language:lang,Timezone:timezone,Protocol:window.location.protocol.split(":")[0]};if(typeof callback!="undefined"&&typeof callback=="function")
this.Callbacks[message.Message]=callback;var uri=message.Resource.substring(message.Resource.indexOf("/"));$Quivers.Utilities.Debug("Requesting '"+resource+"'");if(this.Socket!=null&&this.Socket.readyState==this.Socket.OPEN){var proceed=true;if(typeof window[this.Marketplace][uri.split("?")[0]]!="undefined"&&typeof window[this.Marketplace][uri.split("?")[0]].beforeSend=="function"){proceed=window[this.Marketplace][uri.split("?")[0]].beforeSend(message);}
if(proceed==true){try{var cachedResult=localStorage.getItem(uri+"*"+this.Marketplace);}
catch(err){var cachedResult=null;}
if(this.Settings.Application.UseLocalCache==true&&cachedResult!=null){var c=JSON.parse(cachedResult);var d=new Date;if(typeof c.Result.Cache!="undefined"&&c.Result.Cache!=false&&(d.getTime()/1000)>=c.Result.Cache&&c.Result.Language==$Quivers.Utilities.GetCookie("HoverCart-Language")){try{localStorage.removeItem(uri+"*"+this.Marketplace);}
catch(err){}
window[message.Message+"-Length"]=new Date();this.Socket.send(JSON.stringify(message));}
else{c.Message=message.Message;cachedResult=JSON.stringify(c);window[message.Message+"-Length"]=new Date();this.Socket.onmessage({data:cachedResult});}}
else{window[message.Message+"-Length"]=new Date();this.Socket.send(JSON.stringify(message));}}}
else{if(uri.indexOf("?")>-1)
var marketplace="&Marketplace="+this.Marketplace;else
var marketplace="?Marketplace="+this.Marketplace;if(uri.split("?").length>1)
var add="?"+uri.split("?")[1];else
var add="";var curl={type:message.Resource.split("/")[0],url:"https://"+this.Host+uri.split("?")[0]+"/"+add+marketplace,headers:{Session:this.SessionId,ServerCache:this.Settings.Application.UseServerCache,'HTTP_ACCEPT_LANGUAGE':lang,Timezone:timezone,},data:JSON.stringify(data),timeout:1000*60*10};var callbacks=['beforeSend','success','error','complete'];for(var c in callbacks){if(typeof window[this.Marketplace][uri.split("?")[0]]!="undefined"&&typeof window[this.Marketplace][uri.split("?")[0]][callbacks[c]]=="function")
curl[callbacks[c]]=window[this.Marketplace][uri.split("?")[0]][callbacks[c]];}
if(typeof callback!="undefined"&&typeof callback=="function")
curl.complete=callback;$Quivers.Utilities.Ajax(curl);}}
this.Get=function(uri,callback){this.Send("GET"+this.Api+uri,null,callback);}
this.Delete=function(uri,callback){this.Send("DELETE"+this.Api+uri,null,callback);}
this.Put=function(uri,data,callback){this.Send("PUT"+this.Api+uri,data,callback);}
this.Post=function(uri,data,callback){this.Send("POST"+this.Api+uri,data,callback);}
this.Start=function(func){$Quivers.Utilities.Debug("Start function");var hc=this;var booted=false;var boot=function(){if(booted)
return;booted=true;if(typeof checkForDocumentReady!=="undefined")
clearInterval(checkForDocumentReady);document.removeEventListener("readystatechange",boot);{if(typeof OnHoverCartLoad=="function")
hc.OnStart=OnHoverCartLoad;if(typeof func=="function")
hc.OnStart=func;var sessionId=sessionStorage.getItem("QuiversSession")||$Quivers.Utilities.GetCookie("QuiversSession");if(sessionId===null){sessionId=$Quivers.Utilities.CreateGuid();$Quivers.Utilities.CreateCookie("QuiversSession",sessionId);sessionStorage.setItem("QuiversSession",sessionId);}
hc.SessionId=sessionId;hc.SessionStarted=true;hc.ThirdPartyCookiesEnabled=true;hc.Post("app",{Origin:document.domain,CurrentUrl:window.location.href,PointOfSaleBusiness:hc.PointOfSaleBusiness,HoverCartId:hc.Id});var css=document.createElement("link");css.type="text/css";css.rel="stylesheet";css.id="qStylesheet";css.href="https://"+hc.CDNHost+"/css/styles.css?v="+hc.Version;document.getElementsByTagName("head")[0].appendChild(css);css.onload=function(){hc.CssLoaded=true;}
var fontawesome=document.createElement('link');fontawesome.type="text/css";fontawesome.rel="stylesheet";fontawesome.id="fontawesome-css";fontawesome.href="https://use.fontawesome.com/releases/v5.8.1/css/all.css";document.getElementsByTagName('head')[0].appendChild(fontawesome);if($Quivers.Dom.Get('meta[name="viewport"][content="width=device-width, initial-scale=1"]').length===0){var viewport=document.createElement("meta");viewport.setAttribute("name","viewport");viewport.setAttribute("content","width=device-width, initial-scale=1");document.getElementsByTagName("head")[0].appendChild(viewport);}
try{var google_shopping_meta=document.createElement('meta');google_shopping_meta.setAttribute('name','google-site-verification');google_shopping_meta.setAttribute('content','sLbHQz8Ph_tudgNg0n4LP1QcWhiZd_vtR3UXAmujy3Q');document.getElementsByTagName("head")[0].appendChild(google_shopping_meta);}
catch(err){console.warn(err);}
$Quivers.Utilities.Debug("Start sequence complete");}};if(typeof document.body!=="undefined"&&document.body!==null){boot();}
else{$Quivers.Utilities.Debug("Document Not Ready Yet ("+document.body+")");document.addEventListener("readystatechange",boot);var checkForDocumentReady=setInterval(function(){if(typeof document.body!=="undefined"&&document.body!==null)
boot();},10);}}
this.$=function(label,context){if(typeof context=="undefined")
var context="global";if($Quivers.Utilities.GetCookie("HoverCart-Language")==null)
var lang=this.Settings.Wording.Language;else
var lang=$Quivers.Utilities.GetCookie("HoverCart-Language")
if(typeof this.Languages[lang][context.toLowerCase()]!=="undefined"){if(typeof this.Languages[lang][context.toLowerCase()][label]!=="undefined")
return this.Languages[lang][context.toLowerCase()][label];else
return null;}
else
return null;}
this.OnPopState=function(){if(typeof oldOnpopstate==='function')
window.oldOnpopstate();for(var i=0;i<window.ActiveHoverCarts.length;i++){if(window[window.ActiveHoverCarts[i]].Settings&&window[window.ActiveHoverCarts[i]].Settings.General)
window[window.ActiveHoverCarts[i]].SelectViewFromUrl();}
var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i]);}}
this.CookiesDialog=function(){var hc=this;var html='<div class="alert alert-danger">'+hc.$("CookiesNotEnabled")+'</div>';switch($Quivers.Utilities.GetBrowser().name.toLowerCase()){case"chrome":var url="https://support.google.com/accounts/answer/61416?hl=en";break;case"safari":var url="https://support.apple.com/kb/ph19214";break;case"firefox":var url="https://support.mozilla.org/en-US/kb/enable-and-disable-cookies-website-preferences";break;case"edge":var url="http://www.windows10update.com/2015/07/windows-10-tutorials-128-allow-or-block-cookies-in-microsoft-edge/";break;case"ie":var url="https://support.microsoft.com/en-us/help/17442/windows-internet-explorer-delete-manage-cookies";break;case"internet explorer":var url="https://support.microsoft.com/en-us/help/17442/windows-internet-explorer-delete-manage-cookies";break;}
if(typeof url!=="undefined")
html+="<h3>"+hc.$("CookiesHelp")+' <a href="'+url+'">'+hc.$("CookiesHelp2")+"</a></h3>";$Quivers.Dom.TriggerDialog(hc.$("CookiesNotEnabledTitle"),html);}
this.LiveChatSupport=function(){var fc_CSS=document.createElement('link');fc_CSS.setAttribute('rel','stylesheet');var fc_isSecured=(window.location&&window.location.protocol=='https:');var fc_lang=document.getElementsByTagName('html')[0].getAttribute('lang');var fc_rtlLanguages=['ar','he'];var fc_rtlSuffix=(fc_rtlLanguages.indexOf(fc_lang)>=0)?'-rtl':'';fc_CSS.setAttribute('type','text/css');fc_CSS.setAttribute('href',((fc_isSecured)?'https://d36mpcpuzc4ztk.cloudfront.net':'http://assets1.chat.freshdesk.com')+'/css/visitor'+fc_rtlSuffix+'.css');document.getElementsByTagName('head')[0].appendChild(fc_CSS);var fc_JS=document.createElement('script');fc_JS.type='text/javascript';fc_JS.defer=true;fc_JS.src=((fc_isSecured)?'https://d36mpcpuzc4ztk.cloudfront.net':'http://assets.chat.freshdesk.com')+'/js/visitor.js';(document.body?document.body:document.getElementsByTagName('head')[0]).appendChild(fc_JS);window.livechat_setting='eyJ3aWRnZXRfc2l0ZV91cmwiOiJxdWl2ZXJzLmZyZXNoZGVzay5jb20iLCJwcm9kdWN0X2lkIjpudWxsLCJuYW1lIjoiUXVpdmVycyIsIndpZGdldF9leHRlcm5hbF9pZCI6bnVsbCwid2lkZ2V0X2lkIjoiMGMxYWMxM2YtYzY4NS00Y2M4LThmYzMtNjdlZDQyMTNmZDJhIiwic2hvd19vbl9wb3J0YWwiOnRydWUsInBvcnRhbF9sb2dpbl9yZXF1aXJlZCI6ZmFsc2UsImxhbmd1YWdlIjpudWxsLCJ0aW1lem9uZSI6bnVsbCwiaWQiOjEwMDAwMTE0MjYsIm1haW5fd2lkZ2V0IjoxLCJmY19pZCI6IjhjOGEyNzUzNjA0ZDliY2ZmNzAwZWE4N2Y5OGFmNGExIiwic2hvdyI6MSwicmVxdWlyZWQiOjIsImhlbHBkZXNrbmFtZSI6IlF1aXZlcnMiLCJuYW1lX2xhYmVsIjoiTmFtZSIsIm1lc3NhZ2VfbGFiZWwiOiJNZXNzYWdlIiwicGhvbmVfbGFiZWwiOiJQaG9uZSIsInRleHRmaWVsZF9sYWJlbCI6IlRleHRmaWVsZCIsImRyb3Bkb3duX2xhYmVsIjoiRHJvcGRvd24iLCJ3ZWJ1cmwiOiJxdWl2ZXJzLmZyZXNoZGVzay5jb20iLCJub2RldXJsIjoiY2hhdC5mcmVzaGRlc2suY29tIiwiZGVidWciOjEsIm1lIjoiTWUiLCJleHBpcnkiOjAsImVudmlyb25tZW50IjoicHJvZHVjdGlvbiIsImVuZF9jaGF0X3RoYW5rX21zZyI6IlRoYW5rIHlvdSEhISIsImVuZF9jaGF0X2VuZF90aXRsZSI6IkVuZCIsImVuZF9jaGF0X2NhbmNlbF90aXRsZSI6IkNhbmNlbCIsInNpdGVfaWQiOiI4YzhhMjc1MzYwNGQ5YmNmZjcwMGVhODdmOThhZjRhMSIsImFjdGl2ZSI6MSwicm91dGluZyI6eyJjaG9pY2VzIjp7IlByb2R1Y3QgUXVlc3Rpb24iOlsiMCJdLCJQcmljaW5nIjpbIjAiXSwiR2VuZXJhbCBRdWVzdGlvbiI6WyIwIl0sImRlZmF1bHQiOlsiMCJdfSwiZHJvcGRvd25fYmFzZWQiOiJmYWxzZSJ9LCJwcmVjaGF0X2Zvcm0iOjEsImJ1c2luZXNzX2NhbGVuZGFyIjpudWxsLCJwcm9hY3RpdmVfY2hhdCI6MCwicHJvYWN0aXZlX3RpbWUiOjE4MCwic2l0ZV91cmwiOiJxdWl2ZXJzLmZyZXNoZGVzay5jb20iLCJleHRlcm5hbF9pZCI6bnVsbCwiZGVsZXRlZCI6MCwibW9iaWxlIjoxLCJhY2NvdW50X2lkIjpudWxsLCJjcmVhdGVkX2F0IjoiMjAxNC0wOS0xMVQwNzoxMDoxOS4wMDBaIiwidXBkYXRlZF9hdCI6IjIwMTctMTEtMDZUMjI6MTI6MjEuMDAwWiIsImNiRGVmYXVsdE1lc3NhZ2VzIjp7ImNvYnJvd3Npbmdfc3RhcnRfbXNnIjoiWW91ciBzY3JlZW5zaGFyZSBzZXNzaW9uIGhhcyBzdGFydGVkIiwiY29icm93c2luZ19zdG9wX21zZyI6IllvdXIgc2NyZWVuc2hhcmluZyBzZXNzaW9uIGhhcyBlbmRlZCIsImNvYnJvd3NpbmdfZGVueV9tc2ciOiJZb3VyIHJlcXVlc3Qgd2FzIGRlY2xpbmVkIiwiY29icm93c2luZ19hZ2VudF9idXN5IjoiQWdlbnQgaXMgaW4gc2NyZWVuIHNoYXJlIHNlc3Npb24gd2l0aCBjdXN0b21lciIsImNvYnJvd3Npbmdfdmlld2luZ19zY3JlZW4iOiJZb3UgYXJlIHZpZXdpbmcgdGhlIHZpc2l0b3LigJlzIHNjcmVlbiAiLCJjb2Jyb3dzaW5nX2NvbnRyb2xsaW5nX3NjcmVlbiI6IllvdSBoYXZlIGFjY2VzcyB0byB2aXNpdG9y4oCZcyBzY3JlZW4gIiwiY29icm93c2luZ19yZXF1ZXN0X2NvbnRyb2wiOiJSZXF1ZXN0IHZpc2l0b3IgZm9yIHNjcmVlbiBhY2Nlc3MgIiwiY29icm93c2luZ19naXZlX3Zpc2l0b3JfY29udHJvbCI6IkdpdmUgYWNjZXNzIGJhY2sgdG8gdmlzaXRvciAiLCJjb2Jyb3dzaW5nX3N0b3BfcmVxdWVzdCI6IkVuZCB5b3VyIHNjcmVlbnNoYXJpbmcgc2Vzc2lvbiIsImNvYnJvd3NpbmdfcmVxdWVzdF9jb250cm9sX3JlamVjdGVkIjoiWW91ciByZXF1ZXN0IHdhcyBkZWNsaW5lZCIsImNvYnJvd3NpbmdfY2FuY2VsX3Zpc2l0b3JfbXNnIjoiU2NyZWVuc2hhcmluZyBpcyBjdXJyZW50bHkgdW5hdmFpbGFibGUiLCJjb2Jyb3dzaW5nX2FnZW50X3JlcXVlc3RfY29udHJvbCI6IkFnZW50IGlzIHJlcXVlc3RpbmcgYWNjZXNzIHRvIHlvdXIgc2NyZWVuIiwiY2Jfdmlld2luZ19zY3JlZW5fdmkiOiJBZ2VudCBjYW4gdmlldyB5b3VyIHNjcmVlbiAiLCJjYl9jb250cm9sbGluZ19zY3JlZW5fdmkiOiJBZ2VudCBoYXMgYWNjZXNzIHRvIHlvdXIgc2NyZWVuICIsImNiX3ZpZXdfbW9kZV9zdWJ0ZXh0IjoiWW91ciBhY2Nlc3MgdG8gdGhlIHNjcmVlbiBoYXMgYmVlbiB3aXRoZHJhd24gIiwiY2JfZ2l2ZV9jb250cm9sX3ZpIjoiQWxsb3cgYWdlbnQgdG8gYWNjZXNzIHlvdXIgc2NyZWVuICIsImNiX3Zpc2l0b3Jfc2Vzc2lvbl9yZXF1ZXN0IjoiQWdlbnQgc2Vla3MgYWNjZXNzIHRvIHlvdXIgc2NyZWVuICJ9fQ==';}
this.ClearCache=function(){var self=this;this.Get("clearCache",function(result){self.ClearWindowStorage();window.location.reload();});}
window.oldOnpopstate=window.onpopstate;window.onpopstate=this.OnPopState;window[this.Marketplace]=this;if(typeof window.ActiveHoverCarts=="undefined")
window.ActiveHoverCarts=[this.Marketplace];else
window.ActiveHoverCarts.push(this.Marketplace);this.Connect();var self=this;try{var zenith_env=this.Environment.toLowerCase().replace("_aws","");switch(zenith_env){case"live":zenith_env="prod";break;case"demo":zenith_env="demo";break;case"test":zenith_env="test";break;case"local":zenith_env="dev";break;}
self.Zenith=new Zenith({environment:zenith_env,clearAuthOn401:false,jquery:{ajax:$Quivers.Utilities.Ajax}});}
catch(err){console.error(err);}
var bluesnap=(this.Environment=="Live"?"https://ws.bluesnap.com":"https://sandbox.bluesnap.com")+"/services/hosted-payment-fields/v1.0/bluesnap.hpf.mini.js";$Quivers.Utilities.LoadScript(bluesnap);$Quivers.Utilities.LoadScript("https://www.paypalobjects.com/api/checkout.js");$Quivers.Utilities.LoadScript("https://js.stripe.com/v3/",function(){});$Quivers.Utilities.LoadScript("https://js.bankpay.certegy.com/v3",function(){});if(typeof google=="undefined"||typeof google.maps=="undefined"||typeof google.maps.places=="undefined"){$Quivers.Utilities.LoadScript("https://maps.googleapis.com/maps/api/js?key="+this.GooglePlaces+"&v=weekly&libraries=places,maps",function(){});}
else if(typeof google!="undefined"&&(typeof google.maps=="undefined"||typeof google.maps.places=="undefined")){console.log(google)
google.load("maps","3.exp",{key:this.GooglePlaces,libraries:"places"})}}
Cloudhub=function(marketplace,environment,version){if(typeof version!="undefined")
this.version=version;else
this.version=1;if(typeof environment!="undefined"){switch(environment.toLowerCase()){case"internal":this.endpoint="https://cloudhub-internal.quivers.com/";break;case"live":this.endpoint="https://cloudhub.quivers.com/";break;case"demo":this.endpoint="https://cloudhub.quiversdemo.com/";break;case"test":this.endpoint="https://cloudhub.quiverstest.com/";break;case"prod_aws":this.endpoint="https://cloudhub.quivers.com/";break;case"demo_aws":this.endpoint="https://cloudhub.quiversdemo.com/";break;case"test_aws":this.endpoint="https://cloudhub.quiverstest.com/";break;}}
else
this.endpoint="https://cloudhub.quivers.com/";this.marketplace=marketplace;this.apiKey=null;this.business=null;this.cacheData=true;this.cacheTTL=90000;this.returnXhr=false;this.getEndpoint=function(endpoint){if(endpoint.toLowerCase().indexOf("light")>-1||endpoint.toLowerCase()=="signin/signin")
var url=this.endpoint+"api/v"+this.version+"/"+endpoint;else
var url=this.endpoint+"api/v"+this.version+"/private/"+endpoint;if(this.marketplace!=null){if(url.indexOf("?")==-1)
url+="?MarketplaceId="+this.marketplace;else
url+="&MarketplaceId="+this.marketplace;}
if(this.business!=null)
url+="&refId="+this.business+"&brandRefId="+this.business;return url;}
this.get=function(endpoint,callback,cache){var self=this;var returnXhr=this.returnXhr;if(this.apikey!=null)
var auth="ApiKey "+this.apiKey;else
var auth=localStorage.getItem("quiversauth_hovercart");var url=this.getEndpoint(endpoint);if(typeof cache=="undefined"||(typeof cache!="undefined"&&cache==true)){var cached=localStorage.getItem(url);if(this.cacheData==true&&cached!=null){var xhr=JSON.parse(cached);if(new Date-new Date(xhr.timeOfRequest)<this.cacheTTL){if(typeof callback=="function"){if(returnXhr)
callback(xhr);else
callback(xhr.responseJSON);}
return true;}}}
return $Quivers.Utilities.Ajax({type:"GET",url:url,headers:{Authorization:auth,"Content-Type":"application/json"},complete:function(xhr){localStorage.setItem("quiversauth_hovercart",xhr.getResponseHeader("authorization"));document.cookie="quiversauth_hovercart="+xhr.getResponseHeader("authorization")+";path=/";xhr.timeOfRequest=new Date;xhr.timeOfRequest=xhr.timeOfRequest.toJSON();if(self.cacheData==true&&xhr.status<300)
localStorage.setItem(url,JSON.stringify(xhr));if(typeof callback=="function"){if(returnXhr)
callback(xhr);else{if(typeof xhr.responseJSON!=="undefined")
callback(xhr.responseJSON);else{try{callback(JSON.parse(xhr.responseText));}
catch(err){callback(null);}}}}}});}
this.post=function(endpoint,postData,callback){var returnXhr=this.returnXhr;if(this.apikey!=null)
var auth="ApiKey "+this.apiKey;else
var auth=localStorage.getItem("quiversauth_hovercart");return $Quivers.Utilities.Ajax({type:"POST",url:this.getEndpoint(endpoint),headers:{Authorization:auth,"Content-Type":"application/json"},complete:function(xhr){localStorage.setItem("quiversauth_hovercart",xhr.getResponseHeader("authorization"));document.cookie="quiversauth_hovercart="+xhr.getResponseHeader("authorization")+";path=/";xhr.timeOfRequest=new Date;xhr.timeOfRequest=xhr.timeOfRequest.toJSON();if(typeof callback=="function"){if(returnXhr)
callback(xhr);else{if(typeof xhr.responseJSON!=="undefined")
callback(xhr.responseJSON);else{try{callback(JSON.parse(xhr.responseText));}
catch(err){callback(null);}}}}},data:JSON.stringify(postData)});}
this.upload=function(file,callback){var returnXhr=this.returnXhr;if(this.apikey!=null)
var auth="ApiKey "+this.apiKey;else
var auth=localStorage.getItem("quiversauth_hovercart");return $Quivers.Utilities.Ajax({type:"POST",url:this.getEndpoint("Pictures/InsertWithFileUpload"),headers:{Authorization:auth},complete:function(xhr){localStorage.setItem("quiversauth_hovercart",xhr.getResponseHeader("authorization"));document.cookie="quiversauth_hovercart="+xhr.getResponseHeader("authorization")+";path=/";xhr.timeOfRequest=new Date;xhr.timeOfRequest=xhr.timeOfRequest.toJSON();if(typeof callback=="function"){if(returnXhr)
callback(xhr);else
callback(xhr.responseJSON);}},data:file});}
this.authenticate=function(credentials,callback){this.post("SignIn/SignIn",credentials,callback);}}
ColorPicker={slider:function(ev){ev.preventDefault();var slider=ev.target;switch(slider.getAttribute("name")){case"Red":var colors=[slider.value,0,0,1];break;case"Green":var colors=[0,slider.value,0,1];break;case"Blue":var colors=[0,0,slider.value,1];break;case"Alpha":var colors=[0,0,0,slider.value];break;}
slider.setAttribute("style","background: rgba("+colors.join()+");");var sliders=document.getElementsByClassName("qColorSlider");var color=[];for(var i=0;i<sliders.length;i++){if(sliders[i].getAttribute("data-picker")==slider.getAttribute("data-picker")){color.push(sliders[i].value);}}
var selections=document.getElementsByClassName("qColorSelection");for(var i=0;i<selections.length;i++){if(selections[i].getAttribute("data-picker")==slider.getAttribute("data-picker")){selections[i].setAttribute("style","background-color: rgba("+color.join()+"); background-image: url('"+selections[i].getAttribute("data-logo")+"')")}}
var inputs=document.getElementsByClassName("qColorInput");for(var i=0;i<inputs.length;i++){if(inputs[i].getAttribute("data-picker")==slider.getAttribute("data-picker")){inputs[i].value="rgba("+color.join()+")";inputs[i].form.onchange({target:$Quivers.Dom.Get('input[type="text"][data-picker="'+slider.getAttribute("data-picker")+'"]')[0],currentTarget:inputs[i].form})}}},selection:function(ev){var input=ev.target;var string=input.value;if(string.indexOf("#")===0){var rgb=ColorPicker.hexToRgb(string);var colors=[rgb.r,rgb.g,rgb.b,1];}
else{var colors=string.slice(5,string.indexOf(")")).split(",");for(var i=0;i<colors.length;i++){if(i<3)
colors[i]=parseInt(colors[i]);else{if(isNaN(parseInt(colors[i])))
colors[i]=parseFloat(colors[i]).toFixed(2);else
colors[i]=parseInt(colors[i]);}}
for(var i=0;i<colors.length;i++){if(i<3){if(colors[i]>255)
colors[i]=255;if(colors[i]<1)
colors[i]=1;}
else{if(colors[i]>1)
colors[i]=1;if(colors[i]<0)
colors[i]=0;}}}
input.value="rgba("+colors.join()+")";var sliders=document.getElementsByClassName("qColorSlider");for(var i=0;i<sliders.length;i++){if(sliders[i].getAttribute("data-picker")==input.getAttribute("data-picker")){switch(sliders[i].getAttribute("name")){case"Red":var value=[colors[0],0,0,1];sliders[i].value=colors[0];break;case"Green":var value=[0,colors[1],0,1];sliders[i].value=colors[1];break;case"Blue":var value=[0,0,colors[2],1];sliders[i].value=colors[2];break;case"Alpha":var value=[0,0,0,colors[3]];sliders[i].value=colors[3];break;}
sliders[i].setAttribute("style","background: rgba("+value.join()+");");}}
var selections=document.getElementsByClassName("qColorSelection");for(var i=0;i<selections.length;i++){if(selections[i].getAttribute("data-picker")==input.getAttribute("data-picker")){selections[i].setAttribute("style","background-color: rgba("+colors.join()+"); background-image: url('"+selections[i].getAttribute("data-logo")+"')")}}},hexToRgb:function(hex){var shorthandRegex=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;hex=hex.replace(shorthandRegex,function(m,r,g,b){return r+r+g+g+b+b;});var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:null;}}
$Quivers.Criteo={Activate:function(settings){for(var i in settings){if(typeof settings[i]!=="function")
this[i]=settings[i];}
if(typeof this.Enabled=="undefined")
this.Enabled=false;this.Ready=false;var criteo=this;if(this.Enabled==true){if(typeof window.criteo_q=="undefined"){$Quivers.Utilities.LoadScript("//static.criteo.net/js/ld/ld.js",function(result){window.criteo_q.push({event:"setAccount",account:criteo.AccountId});criteo.Ready=true;});}
else{window.criteo_q.push({event:"setAccount",account:criteo.AccountId});criteo.Ready=true;}}},SetEmail:function(email,md5Email){if(this.Enabled==true){this.EmailAddress=email;if(this.HashConsumerEmailAddresses==true)
var emailAddress=md5Email;else
var emailAddress=email;if(emailAddress!==false||emailAddress===null){if(typeof emailAddress=="undefined")
emailAddress=null;if(window[this.MarketplaceId].Settings.Extensions.CriteoTracking.HashConsumerEmailAddresses==true){this.Push({event:"setHashedEmail",email:emailAddress});}
else{this.Push({event:"setEmail",email:emailAddress});}}}},ViewCart:function(cart){if(this.Enabled==true){var criteoEvent={event:"viewBasket",currency:window[this.MarketplaceId].Currency,item:[]};for(var i in cart.Items){if(cart.Items[i]!=="function"&&!isNaN(parseInt(i))){if(cart.Items[i].ProductRefId==""||cart.Items[i].ProductRefId==null)
cart.Items[i].ProductRefId="0";criteoEvent.item.push({id:cart.Items[i].ProductRefId,price:cart.Items[i].UnitPrice-cart.Items[i].Discount,quantity:cart.Items[i].Quantity});}}
this.Push(criteoEvent);}},Transaction:function(order){if(this.Enabled==true){var criteoEvent={event:"trackTransaction",id:order.OrderRefId,currency:window[this.MarketplaceId].Currency,item:[]};for(var i in order.OrderProductVariants){if(order.OrderProductVariants[i]!=="function"&&!isNaN(parseInt(i))){if(order.OrderProductVariants[i].ProductRefId==""||order.OrderProductVariants[i].ProductRefId==null)
order.OrderProductVariants[i].ProductRefId="0";var match=false;for(var k in criteoEvent.item){if(criteoEvent.item[k]!=="function"&&!isNaN(parseInt(k))){if(btoa(order.OrderProductVariants[i].ProductVariantName+JSON.stringify(order.OrderProductVariants[i].SelectedProductOptions))==criteoEvent.item[k].uniq&&parseFloat((order.OrderProductVariants[i].SubTotal-order.OrderProductVariants[i].Discount).toFixed(2))==criteoEvent.item[k].price){criteoEvent.item[k].quantity++;match=true;}}}
if(match==false){criteoEvent.item.push({uniq:btoa(order.OrderProductVariants[i].ProductVariantName+JSON.stringify(order.OrderProductVariants[i].SelectedProductOptions)),id:order.OrderProductVariants[i].ProductRefId,price:parseFloat((order.OrderProductVariants[i].SubTotal-order.OrderProductVariants[i].Discount).toFixed(2)),quantity:order.OrderProductVariants[i].Quantity});}}}
for(var k in criteoEvent.item){if(criteoEvent.item[k]!=="function"&&!isNaN(parseInt(k))){delete criteoEvent.item[k].uniq;}}
this.Push(criteoEvent);}},Push:function(ev){var doPush=function(ev){$Quivers.Utilities.Debug("Pushing Criteo Event");if(typeof ev.item!=="undefined"&&(ev.item==null||ev.item==""))
ev.item="0";try{window.criteo_q.push(ev);$Quivers.Utilities.Debug(ev);}
catch(err){console.warn(err);}};if(this.Enabled===true){var criteo=this;if(criteo.Ready==true)
doPush(ev);else{var quiversCriteoPushInterval=setInterval(function(){if(criteo.Ready==true){doPush(ev);clearInterval(quiversCriteoPushInterval);}},500);}}}}
$Quivers.Dom={Get:function(query){return Array.prototype.slice.call(document.querySelectorAll(query));},Traverse:function(node,func){if(typeof node.getAttribute=="undefined"||node.getAttribute('data-notermswap')===null){func(node);node=node.firstChild;while(node){$Quivers.Dom.Traverse(node,func);node=node.nextSibling;}}},ReplaceHtml:function(element,newHtml){if(element){if(typeof element.innerHTML!=="undefined")
element.innerHTML=newHtml;var hc=window[this.MarketplaceId];if(hc.Translation.GetCurrentLanguage()=="en")
hc.Translation.SwapCustomTerms(element);else{setTimeout(function(){hc.Translation.SwapCustomTerms(element);},1000);}}},CreateAlert:function(parent,alertType,message,persist){if(typeof persist==="undefined")
var persist=false;$Quivers.Utilities.Debug("Creating an Alert at "+parent);var parent=document.getElementById(parent);var alert=document.createElement("div");alert.className="alert alert-"+alertType+" alert-dismissable";alert.setAttribute("role","alert");alert.innerHTML='<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';alert.innerHTML=alert.innerHTML+message;if(persist===false)
parent.innerHTML="";parent.appendChild(alert);},GenerateAlertHtml:function(alertType,message){var alert=document.createElement("div");alert.className="alert alert-"+alertType+" alert-dismissable";alert.setAttribute("role","alert");alert.setAttribute("aria-automatic","true");alert.innerHTML='<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';alert.innerHTML=alert.innerHTML+message;return alert.outerHTML;},Listeners:function(){var searchForm=document.getElementById("q-search");if(searchForm){searchForm.addEventListener("submit",function(e){e.preventDefault();Quivers.Products.search();});}
try{var qtyFields=this.Get('[id="qVariantQuantity"]');if(qtyFields.length>0){for(var i=0;i<qtyFields.length;i++){qtyFields[i].onkeydown=function(e){if(!((e.keyCode>95&&e.keyCode<106)||(e.keyCode>47&&e.keyCode<58)||e.keyCode==8||e.keyCode==9||e.keyCode==38||e.keyCode==40)){return false;}}}}}
catch(err){console.warn(err);}},LevelElements:function(rootClassName){var row=1;do{var elements=document.getElementsByClassName(rootClassName+"-"+row);var smallestHeight=0;for(var i=0;i<elements.length;i++){if(typeof elements[i]!=="function"){elements[i].style="";var height=elements[i].clientHeight;if(height>smallestHeight){smallestHeight=height;}}}
for(var i=0;i<elements.length;i++){if(typeof elements[i]!=="function"){elements[i].style="height: "+smallestHeight+"px;";}}
row++;}while(elements.length>0);},ToggleDivs:function(div1,div2){var div1=document.getElementById(div1);var div2=document.getElementById(div2);if(div1.className=="visible"){div1.className="hidden";div2.className="visible";}
else{div1.className="visible";div2.className="hidden";}},ToggleDiv:function(div){var div=document.getElementById(div);if(div){if(div.className=="hidden")
div.className="visible";else if(div.className=="visible")
div.className="hidden";}},TogglePopover:function(div){var div=document.getElementById(div);if(div){if(div.getAttribute("data-open")=="false"){div.setAttribute("data-open","true");}
else if(div.getAttribute("data-open")=="true"){div.setAttribute("data-open","false");}}
document.body.addEventListener('click',function(ev){if(ev.target.attributes.hasOwnProperty("dqp")==false){var popovers=$Quivers.Dom.Get('[data-qpopover]');for(var i=0;i<popovers.length;i++){popovers[i].setAttribute("data-open","false");}}});},AutofillStateProvince:function(t){var s=document.getElementById(t.getAttribute('data-state-autocomplete'));for(var i=0;i<s.options.length;i++){if(s.options[i].getAttribute("data-abrv")==t.value){s.selectedIndex=i;}}},ToggleStates:function(sel,ev){var stateSelect=document.getElementById('qSelectStates-'+sel);var country=ev.target.options[ev.target.selectedIndex].value;var options=new Array;for(var i=0;i<stateSelect.options.length;i++){if(stateSelect.options[i].getAttribute("data-country")==country){stateSelect.options[i].removeAttribute("hidden");stateSelect.options[i].removeAttribute("disabled");if(!stateSelect.options[i].hasAttribute("selected")&&stateSelect.options[stateSelect.selectedIndex].getAttribute("data-country")!=country)
stateSelect.selectedIndex=i;options.push(stateSelect.options[i]);}
else{stateSelect.options[i].setAttribute("hidden","");stateSelect.options[i].setAttribute("disabled","");}}
if(options.length==1&&options[0].text=="Other"){document.getElementById('qCity-'+sel).className="col-xs-12 col-md-6";document.getElementById('qState-'+sel).className="col-xs-12 hidden";document.getElementById('qZipCode-'+sel).className="col-xs-12 col-md-6";}
else{document.getElementById('qCity-'+sel).className="col-xs-12 col-md-4";document.getElementById('qState-'+sel).className="col-xs-12 col-md-4";document.getElementById('qZipCode-'+sel).className="col-xs-12 col-md-4";}
for(var i=options.length-1;i>-1;i--){var option=options[i];stateSelect.removeChild(option);stateSelect.insertBefore(option,stateSelect.children[0]);}},ToggleTab:function(ev){var tab=ev.target.parentNode;if(tab.tagName=="FONT")
tab=tab.parentNode;if(tab.tagName=="FONT")
tab=tab.parentNode;if(tab.tagName=="A")
tab=tab.parentNode;var tabs=document.getElementsByClassName("tab");for(var i=0;i<tabs.length;i++){if(tabs[i].getAttribute("role")==tab.getAttribute("role")){if(tabs[i]==tab){tabs[i].className="tab active";document.getElementById(tab.getAttribute("data-target")).className="visible";if(tabs[i].getAttribute("role")!=="qDocuments"&&window[this.MarketplaceId].GetModuleQueryId("Default")!="Checkout"&&window[this.MarketplaceId].GetModuleQueryId("Default")!="Settings"&&window[this.MarketplaceId].GetModuleQueryId("Default")!="Documents"){var url=window[this.MarketplaceId].ConstructURL(window[this.MarketplaceId].GetUrlScheme("Default",tabs[i].getAttribute("data-name")));window.history.pushState(url,url,url);}}
else{tabs[i].className="tab";document.getElementById(tabs[i].getAttribute("data-target")).className="hidden";}}}},ToggleValidation:function(input,type){formGroup=input.parentNode;if(formGroup.className=="input-group")
formGroup=formGroup.parentNode;if(formGroup.className.indexOf("form-group")>-1)
formGroup.className="form-group has-"+type;},TriggerDialog:function(title,body,size){if(typeof size=="undefined")var size="small";switch(size.toLowerCase()){case"small":var className="translate col-xs-12 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-4 col-xl-4 col-xl-offset-4";break;case"large":var className="translate col-xs-12 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2 col-xl-6 col-xl-offset-3";break;}
document.getElementById("QuiversOverlay").className="visible";document.getElementById("QuiversDialogBoxContainer").className="visible";document.getElementById("QuiversDialogBox").className=className;document.getElementById("QuiversDialogBox").setAttribute('title',title);document.getElementById("QuiversDialogBox").setAttribute('role',title);document.getElementById("QuiversDialogTitle").innerHTML=title;document.getElementById("QuiversDialogTitle").setAttribute('tabindex','0');document.getElementById("QuiversDialogBody").innerHTML=body;try{document.body.setAttribute('data-mobile-allow-scroll','false');}
catch(err){}
$Quivers.Dom.ResizeDialog();try{document.getElementById("QuiversDialogBox").focus();}catch(err){}
setTimeout(function(){try{var f=document.getElementById("QuiversDialogBody");if(f)
f.setAttribute('data-force-retranslate','');}
catch(err){}},100)
try{document.getElementById("QuiversDialogBox").focus();}
catch(err){console.warn(err);}},TriggerError:function(title,message){var html='<div class="qDialogError">';html+='<div class="qDialogIcon"><span class="glyphicon glyphicon-exclamation-sign"></span></div>';html+='<div class="qMessage">'+message+'</div>';html+='</div>';$Quivers.Dom.TriggerDialog(title,html);},TriggerNotice:function(title,message){var html='<div class="qDialogNotice">';html+='<div class="qDialogIcon"><span class="glyphicon glyphicon-question-sign"></span></div>';html+='<div class="qMessage">'+message+'</div>';html+='</div>';$Quivers.Dom.TriggerDialog(title,html);},CloseDialog:function(){document.getElementById("QuiversOverlay").className="hidden";document.getElementById("QuiversDialogBoxContainer").className="hidden";document.getElementById("QuiversDialogTitle").innerHTML="";document.getElementById("QuiversDialogBody").innerHTML="";document.body.removeAttribute('data-mobile-allow-scroll','false');$Quivers.Dom.ResizeDialog();},ResizeDialog:function(){if(document.body.clientHeight>=900)
document.getElementById("QuiversDialogBox").removeAttribute("style");if(document.body.clientHeight<900)
document.getElementById("QuiversDialogBox").setAttribute("style","top: 8%; max-height: 86%;");if(document.body.clientHeight<700)
document.getElementById("QuiversDialogBox").setAttribute("style","top: 4%; max-height: 92%;");if(document.body.clientHeight<500)
document.getElementById("QuiversDialogBox").setAttribute("style","top: 0%; max-height: 100%;");document.getElementById("QuiversDialogBody").removeAttribute("style");document.getElementById("QuiversDialogBody").setAttribute("style","max-height: "+(document.getElementById("QuiversDialogBox").clientHeight-40)+"px;");},DialogPager:function(page){var pages=document.getElementsByClassName("qUpsellProductsPage");for(var i=1;i<=pages.length;i++){if(pages[i-1].getAttribute("data-page")==page){console.log('[data-pager-button="'+i+'"]');$Quivers.Dom.Get('[data-pager-button="'+i+'"]')[0].innerHTML='<a disabled>'+i+'</a>';pages[i-1].className="qUpsellProductsPage visible";}
else{$Quivers.Dom.Get('[data-pager-button="'+i+'"]')[0].innerHTML='<a tabindex="0" onclick="$Quivers.Dom.DialogPager('+i+');" onkeypress="$Quivers.Dom.DialogPager('+i+');">'+i+'</a>';pages[i-1].className="qUpsellProductsPage hidden";}}
$Quivers.Dom.ResizeDialog();}};document.addEventListener("click",function(ev){var dismissButton=(typeof ev.target.closest=="function")?ev.target.closest('[data-dismiss="alert"]'):null;if(!dismissButton)
return;var alertBox=dismissButton.closest('.alert');if(alertBox&&alertBox.parentNode)
alertBox.parentNode.removeChild(alertBox);});$Quivers.Forms={Serialize:function(formName){if(typeof formName=="string")
var form=document.getElementById("q-"+formName);else
var form=formName;var formData=new FormData(form);var post={};formData.forEach(function(value,name){post[name]=value;});return{Form:form,Data:post};},Validate:function(formName,useAlerts){var form=document.getElementById("q-"+formName);var inputs=document.getElementsByTagName("input");var proceed=true;var alerts=$Quivers.Dom.Get('[data-form-alerts="'+formName+'"]');for(var k=0;k<alerts.length;k++){if(typeof alerts[k]!=="function")
alerts[k].innerHTML="";}
for(var i=0;i<inputs.length;i++){if(typeof inputs[i]!=="function"){if(inputs[i].getAttribute("data-form")==formName){if(inputs[i].getAttribute("data-required")=="true"&&inputs[i].value==""||(inputs[i].getAttribute("data-required")=="true"&&inputs[i].getAttribute("type")=="checkbox"&&inputs[i].checked===false)){proceed=false;if(useAlerts==true){for(var k=0;k<alerts.length;k++){$Quivers.Dom.CreateAlert(alerts[k].id,"danger",window[this.MarketplaceId].$("RequiredFieldMissingAlert","fields").replace("%s",inputs[i].getAttribute("placeholder")),true);}
$Quivers.Dom.ToggleValidation(inputs[i],"error");}}
else if(inputs[i].getAttribute("type")=="password"){if(inputs[i].value.length<7||inputs[i].value==inputs[i].value.toLowerCase()||inputs[i].value.match(/\d+/g)==null){proceed=false;if(useAlerts==true){for(var k=0;k<alerts.length;k++){$Quivers.Dom.CreateAlert(alerts[k].id,"danger",window[this.MarketplaceId].$("InvalidPasswordAlert","fields"),true);}
$Quivers.Dom.ToggleValidation(inputs[i],"error");}}
else if(useAlerts==true){$Quivers.Dom.ToggleValidation(inputs[i],"");}}
else if(inputs[i].getAttribute("type")=="email"&&(inputs[i].id=="qEmail"||inputs[i].id=="qEmailC")){let email_regex=/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;if(!email_regex.test(inputs[i].value)){proceed=false;if(useAlerts==true){for(var k=0;k<alerts.length;k++){$Quivers.Dom.CreateAlert(alerts[k].id,"danger",window[this.MarketplaceId].$("InvalidEmailAlert","fields"),true);}
$Quivers.Dom.ToggleValidation(inputs[i],"error");}}
else if(useAlerts==true){$Quivers.Dom.ToggleValidation(inputs[i],"");}}
else if(useAlerts==true){$Quivers.Dom.ToggleValidation(inputs[i],"");}}}}
var selects=document.getElementsByTagName("select");for(var k=0;k<selects.length;k++){if(typeof selects[k]!=="function"){if(selects[k].getAttribute("data-form")==formName&&selects[k].getAttribute("data-required")=="true"&&selects[k].options[selects[k].selectedIndex].value=="RESELECT"){proceed=false;if(useAlerts==true)
$Quivers.Dom.ToggleValidation(selects[k],"error");for(var j=0;j<alerts.length;j++){$Quivers.Dom.CreateAlert(alerts[j].id,"danger",window[this.MarketplaceId].$("RequiredSelectMissingAlert","fields").replace("%s",selects[k].getAttribute("placeholder")),true);}}
else{if(useAlerts==true)
$Quivers.Dom.ToggleValidation(selects[k],"");}}}
return proceed;},Submit:function(formName,buttonId,callback){if(formName.indexOf("support")!==0&&(!navigator.cookieEnabled||window[this.MarketplaceId].ThirdPartyCookiesEnabled==false)){window[this.MarketplaceId].CookiesDialog(window[this.MarketplaceId]);return false;}
if(typeof buttonId.target!="undefined")
var button=buttonId.target;else
var button=document.getElementById(buttonId);var alerts=$Quivers.Dom.Get('[data-form-alerts="'+formName+'"]');var form=this.Serialize(formName);form.Data.ClientUrl=location.protocol+'//'+location.hostname+location.pathname;if(!button.hasAttribute("disabled")){if((formName.toLowerCase().indexOf("address")>-1&&QuiversAddressForm.prototype.Validate(formName)===true)||(formName.toLowerCase().indexOf("address")==-1&&this.Validate(formName,true)===true)){button.setAttribute('disabled','true');button.setAttribute('working','true');for(var k in alerts){if(typeof alerts[k]!=="function")
alerts[k].innerHTML=null;}
if(typeof callback=="function")
window[this.MarketplaceId].Post(form.Form.getAttribute('data-api'),form.Data,callback);else
window[this.MarketplaceId].Post(form.Form.getAttribute('data-api'),form.Data);}}},Send:function(action,data){if(typeof data=="string"){var form=document.getElementById(data);var post=new FormData(form);}
else
var post=data;window[this.MarketplaceId].Post(action,post);}}
document.addEventListener("keyup",function(ev){if(!ev.target||ev.target.tagName!=="INPUT")
return;if(ev.keyCode==13){ev.preventDefault();var r=$Quivers.Dom.Get('form[data-form="'+ev.target.getAttribute("data-form")+'"]');if(r.length>0)
var marketplace=r[0].getAttribute("data-marketplace");if(typeof marketplace!="undefined")
window[marketplace].Forms.Submit(ev.target.getAttribute("data-form"),ev.target.getAttribute("data-form")+"-Submit");}});document.addEventListener("submit",function(ev){var form=ev.target;if(!form||form.tagName!=="FORM"||!form.hasAttribute("data-api"))
return;ev.preventDefault();var formName=form.getAttribute("data-form");var marketplace=form.getAttribute("data-marketplace");if(!formName||!marketplace||typeof window[marketplace]=="undefined")
return;if(document.getElementById(formName+"-Submit"))
window[marketplace].Forms.Submit(formName,formName+"-Submit");});$Quivers.Products={loadCategory:$Quivers.Catalog.Category,toggleSubCategories:$Quivers.Catalog.ToggleSubCategories,loadProducts:$Quivers.Catalog.Products,resetPage:$Quivers.Catalog.ResetPage,triggerSearch:$Quivers.Catalog.TriggerSearch,search:$Quivers.Catalog.Search,productDetails:$Quivers.Catalog.ProductDetails,productShort:$Quivers.Catalog.ProductShort,widgets:$Quivers.Catalog.Widgets,assortments:$Quivers.Catalog.Assortments,getVariant:$Quivers.Catalog.SelectVariant,productReviews:$Quivers.Catalog.ProductReviews,voteReview:$Quivers.Catalog.VoteReview}
$Quivers.Views={login:"",register:"",forgotPassword:"",newPassword:"",account:"",orders:"",order:"",products:"",buyProduct:"",checkout:"",confirmation:"",cart:"",wishlist:"",settings:"",contact:"",safari:""}
if(typeof Object.prototype.__defineSetter__!="undefined"){$Quivers.Views.__defineSetter__('login',function(val){window[this.MarketplaceId].Settings.Pages.Login.PageUrl=val;});$Quivers.Views.__defineSetter__('register',function(val){window[this.MarketplaceId].Settings.Pages.Login.PageUrl=val;});$Quivers.Views.__defineSetter__('forgotPassword',function(val){window[this.MarketplaceId].Settings.Pages.Login.PageUrl=val;});$Quivers.Views.__defineSetter__('newPassword',function(val){window[this.MarketplaceId].Settings.Pages.Login.PageUrl=val;});$Quivers.Views.__defineSetter__('account',function(val){window[this.MarketplaceId].Settings.Pages.Account.PageUrl=val;});$Quivers.Views.__defineSetter__('orders',function(val){window[this.MarketplaceId].Settings.Pages.Account.PageUrl=val;});$Quivers.Views.__defineSetter__('order',function(val){window[this.MarketplaceId].Settings.Pages.Order.PageUrl=val;});$Quivers.Views.__defineSetter__('products',function(val){window[this.MarketplaceId].Settings.Pages.Products.PageUrl=val;});$Quivers.Views.__defineSetter__('buyProduct',function(val){window[this.MarketplaceId].Settings.Pages.ProductShort.PageUrl=val;});$Quivers.Views.__defineSetter__('checkout',function(val){window[this.MarketplaceId].Settings.Pages.Checkout.PageUrl=val;});$Quivers.Views.__defineSetter__('cart',function(val){window[this.MarketplaceId].Settings.Pages.Cart.PageUrl=val;});$Quivers.Views.__defineSetter__('wishlist',function(val){window[this.MarketplaceId].Settings.Pages.Wishlist.PageUrl=val;});$Quivers.Views.__defineSetter__('settings',function(val){window[this.MarketplaceId].Settings.Pages.Settings.PageUrl=val;});$Quivers.Views.__defineSetter__('contact',function(val){window[this.MarketplaceId].Settings.Pages.Contact.PageUrl=val;});}
$Quivers.DisplayElements={login:null,register:null,forgotPassword:null,newPassword:null,account:null,orders:null,order:null,products:null,buyProduct:null,checkout:null,confirmation:null,cart:null,wishlist:null,safari:null,settings:null,contact:null,ribbon:null}
if(typeof Object.prototype.__defineSetter__!="undefined"){$Quivers.DisplayElements.__defineSetter__('login',function(val){window[this.MarketplaceId].Settings.Pages.Login.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('register',function(val){window[this.MarketplaceId].Settings.Pages.Login.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('forgotPassword',function(val){window[this.MarketplaceId].Settings.Pages.Login.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('newPassword',function(val){window[this.MarketplaceId].Settings.Pages.Login.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('account',function(val){window[this.MarketplaceId].Settings.Pages.Account.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('orders',function(val){window[this.MarketplaceId].Settings.Pages.Account.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('order',function(val){window[this.MarketplaceId].Settings.Pages.Order.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('products',function(val){window[this.MarketplaceId].Settings.Pages.Products.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('buyProduct',function(val){window[this.MarketplaceId].Settings.Pages.ProductShort.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('checkout',function(val){window[this.MarketplaceId].Settings.Pages.Checkout.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('cart',function(val){window[this.MarketplaceId].Settings.Pages.Cart.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('wishlist',function(val){window[this.MarketplaceId].Settings.Pages.Wishlist.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('settings',function(val){window[this.MarketplaceId].Settings.Pages.Settings.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('contact',function(val){window[this.MarketplaceId].Settings.Pages.Contact.DisplayElement=val;});$Quivers.DisplayElements.__defineSetter__('ribbon',function(val){window[this.MarketplaceId].Settings.Ribbon.DisplayElement=val;});}
$Quivers.Urls={Paths:{Default:"v",Search:"q",Category:"c",Product:"p",ProductShort:"b",ProductReview:"r",Orders:"o",Order:"order"}}
if(typeof Object.prototype.__defineSetter__!="undefined"){$Quivers.Urls.Paths.__defineSetter__('Default',function(val){window[this.MarketplaceId].Settings.QueryTokens.Default=val;});$Quivers.Urls.Paths.__defineSetter__('Search',function(val){window[this.MarketplaceId].Settings.QueryTokens.Search=val;});$Quivers.Urls.Paths.__defineSetter__('Category',function(val){window[this.MarketplaceId].Settings.QueryTokens.Category=val;});$Quivers.Urls.Paths.__defineSetter__('Product',function(val){window[this.MarketplaceId].Settings.QueryTokens.Product=val;});$Quivers.Urls.Paths.__defineSetter__('ProductShort',function(val){window[this.MarketplaceId].Settings.QueryTokens.ProductShort=val;});$Quivers.Urls.Paths.__defineSetter__('ProductReview',function(val){window[this.MarketplaceId].Settings.QueryTokens.ProductReview=val;});$Quivers.Urls.Paths.__defineSetter__('Orders',function(val){window[this.MarketplaceId].Settings.QueryTokens.Orders=val;});$Quivers.Urls.Paths.__defineSetter__('Order',function(val){window[this.MarketplaceId].Settings.QueryTokens.Order=val;});$Quivers.__defineSetter__('AutoInit',function(val){window[this.MarketplaceId].Settings.Ribbon.DisplayElement=val;});$Quivers.__defineSetter__('HomeUrl',function(val){window[this.MarketplaceId].Settings.General.HomeUrl=val;});$Quivers.__defineSetter__('Logo',function(val){window[this.MarketplaceId].Settings.Ribbon.DisplayElement=val;});$Quivers.__defineSetter__('DisplayElement',function(val){window[this.MarketplaceId].Settings.General.DefaultDisplay=val;});$Quivers.__defineSetter__('ThemeColor',function(val){window[this.MarketplaceId].Settings.General.PrimaryColor=val;});$Quivers.__defineSetter__('AltColor',function(val){window[this.MarketplaceId].Settings.General.AlternateColor=val;});$Quivers.__defineSetter__('FontColor',function(val){window[this.MarketplaceId].Settings.General.FontColor=val;});$Quivers.__defineSetter__('PriceRange',function(val){window[this.MarketplaceId].Settings.Catalog.PriceRanges=val;});$Quivers.__defineSetter__('DefaultView',function(val){window[this.MarketplaceId].Settings.General.DefaultPage=val;});$Quivers.__defineSetter__('CustomRegister',function(val){window[this.MarketplaceId].Settings.Registration.LegacyUrl=val;});$Quivers.__defineSetter__('PaymentVerbiage',function(val){window[this.MarketplaceId].Settings.Checkout.PaymentVerbiage=val;});}
$Quivers.requestWidget=function(){this.Settings.Ribbon.Automatic=true;this.IgnoreRibbonAutomatic=true;this.Start();}
QuiversInstorePickupMap=function(marketplace,instorePickupData){this.Labels='ABCDEFGHIJKLMNOPQRSTUVWXYZ';this.MarketplaceId=marketplace;this.ParentElement=document.getElementById("qInstorePickupMap");var mapSection=document.getElementById('qAvailableInstoreSection');if(mapSection&&mapSection.className=="visible"){mapSection.className="hidden";this.ParentElement.className="visible";document.getElementById('qCurrentSelection').className="visible";}
if(typeof instorePickupData=="undefined"){var instorePickupData=window[this.MarketplaceId].InstorePickupData;}
for(var i in instorePickupData)
this[i]=instorePickupData[i];this.PopulateMap=function(lat,lng){console.log(this.ParentElement);console.log(lat);console.log(lng);this.Map=new google.maps.Map(this.ParentElement,{center:{lat:lat,lng:lng},zoom:9});$Quivers.Dom.ResizeDialog();var map=this;this.SetCenter(lat,lng);map.Map.addListener('bounds_changed',function(e){var lat=map.Map.center.lat();var lng=map.Map.center.lng();var updatePosition=false;map.SetCenter(lat,lng);});map.Map.addListener('dragend',function(e){$Quivers.Utilities.Debug("Fetching locations for Instore Pickup...");var pageSize=5;$Quivers.Utilities.Ajax({url:"https://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lng+"&sensor=false",success:function(geo){console.log(geo);var stateAbbreviation=geo.results[geo.results.length-3].address_components[1].short_name;console.log("BusinessesLight/ClosestRetailers?ProductId="+map.ProductId+"&StateAbb="+stateAbbreviation+"&Latitude="+map.Map.center.lat()+"&Longitude="+map.Map.center.lng());window[map.MarketplaceId].Cloudhub.get("BusinessesLight/ClosestRetailers?ProductId="+map.ProductId+"&StateAbb="+stateAbbreviation+"&Latitude="+map.Map.center.lat()+"&Longitude="+map.Map.center.lng()+"&PageSize="+pageSize,function(data){console.log(data);for(var b=0;b<data.length;b++){for(var c=0;c<window[map.MarketplaceId].Countries.length;c++){if(window[map.MarketplaceId].Countries[c].CountryInfo.Id==data[b].Address.CountryId){data[b].Address.Country=window[map.MarketplaceId].Countries[c].CountryInfo.Name;for(var a=0;a<window[map.MarketplaceId].Countries[c].CountryInfo.StateProvinces.length;a++){if(window[map.MarketplaceId].Countries[c].CountryInfo.StateProvinces[a].Id==data[b].Address.StateId)
data[b].Address.StateAbbreviation=window[map.MarketplaceId].Countries[c].CountryInfo.StateProvinces[a].Abbreviation;}}}}
map.GenerateLocations(data);});}})});map.GenerateLocations(map.Locations);}
this.SetCenter=function(lat,lng){this.MyCoords.lat=lat;this.MyCoords.lng=lng;var map=this;if(typeof map.CurrentPosition!="undefined"){map.CurrentPosition.setMap(null);map.CurrentPosition.visible=false;delete map.CurrentPosition;}
this.CurrentPosition=new google.maps.Marker({position:{lat:lat,lng:lng},map:map.Map,title:window[map.MarketplaceId].$("MyLocation","instorepickup"),icon:"https://"+window[map.MarketplaceId].CDNHost+"/img/you-pin.png"});this.CurrentPosition.addListener('click',function(){new google.maps.InfoWindow({content:window[map.MarketplaceId].$("MyLocation","instorepickup")}).open(map.Map,map.CurrentPosition);});}
this.GenerateLocations=function(locations){var map=this;for(var i=0;i<map.Locations.length;i++){try{if(typeof map.Locations[i].Marker!="undefined")
map.Locations[i].Marker.setMap(null);}
catch(err){}}
map.Locations=locations;if(typeof this.InitiallySelected!="undefined"){this.MarkSelectedLocation(this.InitiallySelected);delete this.InitiallySelected;}
if(typeof map.SelectedLocation!="undefined"&&map.SelectedLocation!=null){for(var i=0;i<map.Locations.length;i++){try{if(map.Locations[i].Address.Latitude==map.SelectedLocation.Address.Latitude&&map.Locations[i].Address.Longitude==map.SelectedLocation.Address.Longitude){delete map.Locations[i];}}catch(err){}}}
if(typeof locations.length!="undefined"){for(var k=0;k<map.Locations.length;k++){try{map.Locations[k].Marker=new google.maps.Marker({position:{lat:map.Locations[k].Address.Latitude,lng:map.Locations[k].Address.Longitude},label:map.Labels[k],map:map.Map,title:map.Locations[k].Name,});map.Locations[k].Marker.Parent=map.Locations[k];map.Locations[k].Id=k;var string="<h5>"+map.Locations[k].Name+"</h5>"+
map.Locations[k].Address.AddressLine1+"<br>";if(map.Locations[k].Address.AddressLine2!=null&&map.Locations[k].Address.AddressLine2!="")
string+=map.Locations[k].Address.AddressLine2+"<br>";string+=map.Locations[k].Address.City+", "+map.Locations[k].Address.StateAbbreviation+", "+map.Locations[k].Address.PostCode+"<br>"+
map.Locations[k].Address.Country+"<br>"+"<a id='qPickupLocation-"+map.Locations[k].Id+"' class='qPickupButton' onclick='window[\""+map.MarketplaceId+"\"].InstorePickupMap.SelectLocation("+map.Locations[k].Id+");'>"+window[map.MarketplaceId].$("PickupHereBtn","instorepickup")+"</a>";map.Locations[k].InfoWindow=new google.maps.InfoWindow({content:string});map.Locations[k].Marker.addListener('click',function(){this.Parent.InfoWindow.open(map.Map,this.Parent.Marker);});}
catch(err){}}}}
this.MarkSelectedLocation=function(location){var map=this;if(typeof this.SelectedLocation!="undefined"&&typeof this.SelectedLocation.Marker!="undefined"){this.SelectedLocation.Marker.setMap(null);var index=map.Locations.push(this.SelectedLocation)-1;map.Locations[index].Marker=new google.maps.Marker({position:{lat:map.Locations[index].Address.Latitude,lng:map.Locations[index].Address.Longitude},label:map.Labels[index],map:map.Map,title:map.Locations[index].Name,});}
this.SelectedLocation=location;for(var i=0;i<map.Locations.length;i++){try{if(typeof map.Locations[i].Address!="undefined"){if(map.Locations[i].Address.Latitude==location.Address.Latitude&&map.Locations[i].Address.Longitude==location.Address.Longitude){if(typeof map.Locations[i].Marker!="undefined")
map.Locations[i].Marker.setMap(null);delete map.Locations[i];}}}
catch(err){}}
location.Marker=new google.maps.Marker({position:{lat:location.Address.Latitude,lng:location.Address.Longitude},map:this.Map,title:window[map.MarketplaceId].$("SelectedLocationTitle","instorepickup").replace("%s",location.Name),icon:"https://"+window[map.MarketplaceId].CDNHost+"/img/store-pin-small.png"});location.Marker.Parent=location;var string="<h5>"+location.Name+"</h5>"+
location.Address.AddressLine1+"<br>";if(location.Address.AddressLine2!=null&&location.Address.AddressLine2!="")
string+=location.Address.AddressLine2+"<br>";string+=location.Address.City+", "+location.Address.StateAbbreviation+", "+location.Address.PostCode+"<br>"+
location.Address.Country+"<br>"+"<h5 class='text-center'>"+window[map.MarketplaceId].$("SelectedLocationLabel","instorepickup")+"</h5>";location.InfoWindow=new google.maps.InfoWindow({content:string});location.Marker.addListener('click',function(){this.Parent.InfoWindow.open(map.Map,this.Parent.Marker);});}
this.SelectLocation=function(id){var map=this;if(id!==null){var location=map.Locations[id];var link=document.getElementById("qPickupLocation-"+id);}
else{var location={Address:null,RefId:null,Name:null};var link=document.getElementById('qRemovePickupLocation');}
if(!link.hasAttribute("disabled")){link.setAttribute("working","true");link.setAttribute("disabled","true");if(location.RefId!==null&&(typeof location.Address.Company=="undefined"||location.Address.Company==null))
location.Address.Company=location.Name;console.log({Type:"Shopping",Product:map.CartItemId,InStorePickupLocation:{Address:location.Address,RefId:location.RefId,Name:location.Name}});window[this.MarketplaceId].Post("user/cart/updateItem",{Type:"Shopping",Product:map.CartItemId,InStorePickupLocation:{Address:location.Address,RefId:location.RefId,Name:location.Name}},function(data){var message=document.getElementById("qInstorePickupMessage");var currentSelection=document.getElementById("qCurrentSelection");if(data.ResponseCode<300){if(typeof data.Result.Data.CartItem!="undefined"&&data.Result.Data.CartItem!=null)
map.CartItemId=data.Result.Data.CartItem.Id;if(location.RefId!=null)
map.MarkSelectedLocation(location);else
map.SelectedLocation.Marker.setMap(null);if(typeof data.Result.Data.LocationCard!="undefined"){try{if(message)
message.className="text-center hidden";if(message.parentNode==currentSelection)
currentSelection.parentNode.appendChild(message);}catch(err){}
currentSelection.innerHTML=data.Result.Data.LocationCard;currentSelection.className="visible";console.log(window[data.Result.Marketplace].Checkout);if(typeof window[data.Result.Marketplace].Checkout!=="undefined"){window[data.Result.Marketplace].Checkout.UpdateTotals();$Quivers.Dom.CloseDialog();}
else{if(document.getElementById("qCartDetails")){if(data.Result.Data.RenderType=="Module")
document.getElementById("qCartDetails").innerHTML=data.Result.Html;else{var elem=window[data.Result.Marketplace].Settings.GetDisplayElement("Checkout");document.getElementById(elem).innerHTML=data.Result.Html;}
if(document.getElementById("productUpsellOpportunity"))
window[data.Result.Marketplace].Get("module?Module=productUpsellOpportunity");}}}
else{if(message)
message.className="text-center visible";}}
else{if(message)
message.className="text-center visible";currentSelection.innerHTML="";currentSelection.className="hidden";}
link.removeAttribute("working");link.removeAttribute("disabled");for(var i=0;i<map.Locations.length;i++){try{map.Locations[i].InfoWindow.close();}
catch(err){}}
$Quivers.Dom.ResizeDialog();});}}
var map=this;var createTheMap=function(){if("geolocation"in navigator){navigator.geolocation.getCurrentPosition(function(position){map.MyCoords.lat=position.coords.latitude;map.MyCoords.lng=position.coords.longitude;map.PopulateMap(position.coords.latitude,position.coords.longitude);},function(error){map.PopulateMap(map.MyCoords.lat,map.MyCoords.lng);});}}
if(typeof google=="undefined"||typeof google.maps=="undefined")
$Quivers.Utilities.LoadScript("https://maps.googleapis.com/maps/api/js",createTheMap);else
createTheMap();}
$Quivers.Orders={FilterByRetailer:function(){var retailerRefId=$Quivers.Utilities.GetQuery("RetailerRefId");if(retailerRefId)
return"&RetailerRefId="+retailerRefId;return'';},GetByPage:function(page){if(window[this.MarketplaceId].CurrentView!="Account"){var url=Quivers.GetUrlScheme("Orders","?Page="+page);window.history.pushState(url,url,url);var a
window[this.MarketplaceId].View("Orders"+this.FilterByRetailer(),false);return true;}
window[this.MarketplaceId].Get("module?Module=userOrders"+"&Page="+page+this.FilterByRetailer());},Details:function(orderId){if(window[this.MarketplaceId].CurrentView!="Account"){var url=Quivers.GetUrlScheme("Orders",orderId);window.history.pushState(url,url,url);window[this.MarketplaceId].View("Orders"+this.FilterByRetailer(),false);return true;}
var orderCards=document.getElementsByClassName("qOrderCard");for(var i=0;i<orderCards.length;i++){if(orderCards[i].getAttribute("data-order")==orderId)
orderCards[i].className="qOrderCard active";else
orderCards[i].className="qOrderCard";}
var orderDetails=document.getElementsByClassName("qOrderDetails");for(var i=0;i<orderDetails.length;i++){if(orderDetails[i].getAttribute("data-order")==orderId)
orderDetails[i].className="qOrderDetails visible";else
orderDetails[i].className="qOrderDetails hidden";}
if(window[this.MarketplaceId].GetModuleQuery("Orders")!=orderId){var url=Quivers.GetUrlScheme("Orders",orderId);window[this.MarketplaceId].UpdateURL(url,"Order/"+orderId);window[this.MarketplaceId].Analytics.SetPage("Order/"+orderId,"OrderId "+orderId,true);}},GuestDetails:function(orderGuid,email){var url=window[this.MarketplaceId].GetUrlScheme("Order",orderGuid+"&email="+email);window[this.MarketplaceId].UpdateURL(url,"Order/"+orderGuid+"&email="+email);window[this.MarketplaceId].Analytics.SetPage("Order/"+orderGuid,"Guest OrderId "+orderGuid,true);if(window[this.MarketplaceId].CurrentView!="order"){window[this.MarketplaceId].View("Order",false);}
else
window[this.MarketplaceId].Get("module?Module=userOrders"+"&Email="+email+"&Select=Order-"+orderGuid+this.FilterByRetailer());},ShipmentDetails:function(opvId){var details=document.getElementById("qOpvShipmentStatus-"+opvId);if(details.getAttribute("data-open")=="true")
details.setAttribute("data-open","false");else
details.setAttribute("data-open","true");},ReturnDetails:function(opvId){var details=document.getElementById("qOpvReturnStatus-"+opvId);if(details.getAttribute("data-open")=="true")
details.setAttribute("data-open","false");else
details.setAttribute("data-open","true");},Address:function(orderId,type){var div=document.getElementById("qOrder"+type+"Address-"+orderId);if(div){if(div.className=="hidden"){div.className="visible";div.children[0].className="qAddressDetails visible";}
else
div.className="hidden";if(type=="Billing")
document.getElementById("qOrderShippingAddress-"+orderId).className="hidden";else
document.getElementById("qOrderBillingAddress-"+orderId).className="hidden";}},ReturnOpv:function(opvId,ev){var form=window[this.MarketplaceId].Forms.Serialize(document.getElementById("qOpvReturn-"+opvId));$Quivers.Utilities.Debug(form);var reason=document.getElementById("qReturnReasonId-"+opvId);var action=document.getElementById("qRequestedActionId-"+opvId);$Quivers.Utilities.Debug(reason.options[reason.selectedIndex].value);$Quivers.Utilities.Debug(action.options[action.selectedIndex].value);if(reason.options[reason.selectedIndex].value!=-1&&action.options[action.selectedIndex].value!=-1){var btns=$Quivers.Dom.Get('[data-opv-return="'+opvId+'"]');for(var i=0;i<btns.length;i++){if(typeof btns[i]!=="function"&&btns[i].hasAttribute('disabled'))
return false;}
for(var i=0;i<btns.length;i++){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","true");btns[i].setAttribute("disabled","true");}}
window[this.MarketplaceId].Post("user/returnOpv",form.Data,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){var element=document.getElementById("userOrders");element.innerHTML=data.Result.Html;}
else{for(var i=0;i<btns.length;i++){if(typeof btns[i]!=="function"){btns[i].setAttribute("working","false");btns[i].removeAttribute("disabled");}}
window[data.Result.Marketplace].Dom.CreateAlert("qOpvReturnAlerts-"+opvId,"danger",data.Result.Html);}})}
else
window[this.MarketplaceId].Dom.CreateAlert("qOpvReturnAlerts-"+opvId,"danger",window[this.MarketplaceId].$("InvalidReturnReasonAlert","orders"));},Print:function(orderId){printOrderWindow=window.open(window.location.href);printOrderWindow.document.write(document.getElementById('qPrintOrder-'+orderId).innerHTML);printOrderWindow.print();if(navigator.userAgent.indexOf('Safari')!==-1&&navigator.userAgent.indexOf('Chrome')===-1){printOrderWindow.addEventListener("afterprint",function(event){printOrderWindow.close();});}else{printOrderWindow.close()}},InstorePickupLocation:function(opvId){var location=JSON.parse(document.getElementById("qOpvInstorePickupLocation-"+opvId).innerHTML);var contents='<div class="qInstorePickupSection">';contents+='<h3 class="qInStoreTitle" style="margin-top: 0px;">'+window[this.MarketplaceId].$("SelectedPickupLocationTitle","instorepickup")+'</h3>';contents+='<div id="qInstorePickupMap"></div>';contents+="<div class=\"qDialogButtonContainer\"><div class=\"qWidgetButton\" tabindex=\"0\" onclick=\"$Quivers.Dom.CloseDialog();\" onkeypress=\"$Quivers.Dom.CloseDialog();\">"+window[this.MarketplaceId].$("ReturnBtn","instorepickup")+"</div></div></div>";$Quivers.Dom.TriggerDialog(window[this.MarketplaceId].$("SelectedPickupLocationTitle","instorepickup"),contents);var host=window[this.MarketplaceId].CDNHost;var hc=window[this.MarketplaceId];var createTheMap=function(){$Quivers.Utilities.Debug(location);var map=new google.maps.Map(document.getElementById("qInstorePickupMap"),{center:{lat:location.Address.Latitude,lng:location.Address.Longitude},zoom:9});$Quivers.Dom.ResizeDialog();var marker=new google.maps.Marker({position:{lat:location.Address.Latitude,lng:location.Address.Longitude},map:map,title:hc.$("MyLocation","instorepickup"),icon:"https://"+host+"/img/store-pin-small.png"});var string="<h5>"+location.Name+"</h5>"+
location.Address.AddressLine1+"<br>";if(location.Address.AddressLine2!=null&&location.Address.AddressLine2!="")
string+=location.Address.AddressLine2+"<br>";string+=location.Address.City+", "+location.Address.StateProvinceName+", "+location.Address.ZipPostalCode+"<br>"+
location.Address.CountryName+"<br>"+"<h5 class='text-center'>"+hc.$("SelectedLocationLabel","instorepickup")+"</h5>";marker.infoWindow=new google.maps.InfoWindow({content:string});marker.addListener('click',function(){marker.infoWindow.open(map,marker);});setTimeout(function(){marker.infoWindow.open(map,marker);},1000);}
if(location.Address.Latitude!=null){if(typeof google=="undefined"||typeof google.maps=="undefined")
$Quivers.Utilities.LoadScript("https://maps.googleapis.com/maps/api/js",createTheMap);else
createTheMap();}
else{var map=document.getElementById("qInstorePickupMap");map.setAttribute("style","text-align: center;");map.innerHTML='<div class="alert alert-warning">'+hc.$("GoogleMapError","instorepickup")+'</div>';map.innerHTML+='<div id="qOpvPickupLocation" style="margin-top: 50px;"></div>';document.getElementById("qOpvPickupLocation").innerHTML+="<h4>"+location.Name+"</h4>"+location.Address.AddressLine1+"<br>";if(location.Address.AddressLine2!=null&&location.Address.AddressLine2!="")
document.getElementById("qOpvPickupLocation").innerHTML+=location.Address.AddressLine2+"<br>";document.getElementById("qOpvPickupLocation").innerHTML+=location.Address.City+", "+location.Address.StateProvinceName+", "+location.Address.ZipPostalCode+"<br>"+
location.Address.CountryName+"<br>"+"<h4>"+hc.$("SelectedLocationLabel","instorepickup")+"</h4>";}}};$Pager=function(marketplace,pagerParentElement,itemsParentId,data,pagesize){this.MarketplaceId=marketplace;this.Pager=document.getElementById(pagerParentElement);this.Parent=document.getElementById(itemsParentId);this.Data=data;if(typeof pagesize!="undefined")
this.PageSize=pagesize;else
this.PageSize=20;this.CurrentPage=1;this.ApplyPaging=function(){for(var i=0;i<this.Parent.children.length;i++){if(this.Parent.children[i].getAttribute("data-page")!=null){this.Parent.children[i].setAttribute("data-page",Math.ceil(i/this.PageSize));}}}
this.ApplyPaging();this.Length=function(){return this.Data.Length;var count=0;for(var i=0;i<this.Parent.children.length;i++){if(this.Parent.children[i].getAttribute("data-page")!=null)
count=count+1;}
return count;}
this.NumberOfPages=function(){var length=this.Length();return Math.ceil(length/this.PageSize);}
this.LastPageLength=function(){if(this.CurrentPage<this.NumberOfPages())
return this.CurrentPage*this.PageSize;else{return this.Length();}}
this.SelectPage=function(page,callback){this.CurrentPage=page;this.RenderPager();if(page<=this.NumberOfPages()){var p=this;p.Parent.setAttribute('loading','true');window[this.MarketplaceId].Get(this.Data.Resource+"?Page="+this.CurrentPage+"&PageSize="+this.PageSize+"&ConsumerGroup="+this.Data.ConsumerGroup,function(data){p.Parent.innerHTML='';var header=document.createElement("tr");header.innerHTML='<th>Code</th><th>ConsumerGroup</th><th>Times Used</th><th>Used By...</th><th></th>';p.Parent.appendChild(header);for(var i in data.Result.Data){var row=document.createElement("tr");row.id=data.Result.Data[i]._id;row.setAttribute("data-page",p.CurrentPage);row.innerHTML='<td>'+data.Result.Data[i].Code+'</td>';row.innerHTML+='<td>'+data.Result.Data[i].ConsumerGroupName+'</td>';row.innerHTML+='<td>'+data.Result.Data[i].TimesUsed+'</td><td data-code-used-by>'+data.Result.Data[i].UsedBy+'</td><td><a class="qWidgetButton" data-code="'+data.Result.Data[i]._id+'" onclick="window['+"'"+p.MarketplaceId+"'"+'].Settings.DeleteCodes(event);">Delete</a></td>';p.Parent.appendChild(row);}
p.Parent.setAttribute('loading','false');if(typeof callback!="undefined")
callback();})
var pager=document.getElementById(this.Pager.id+'-Pager');for(var k=0;k<pager.children.length;k++){if(pager.children[k].getAttribute("data-page")!=null){if(pager.children[k].getAttribute("data-page")==page){pager.children[k].children[0].setAttribute("current-page","");}
else{pager.children[k].children[0].removeAttribute("current-page");}}}
document.getElementById(this.Pager.id+"-PagerStart").innerHTML=this.PageSize*page-this.PageSize+1;document.getElementById(this.Pager.id+"-PagerEnd").innerHTML=this.LastPageLength();document.getElementById(this.Pager.id+"-PagerLength").innerHTML=this.Length();}}
this.RenderPager=function(){var html='<nav><ul class="pagination" id="'+this.Pager.id+'-Pager'+'">';if(this.NumberOfPages()>5){if(this.CurrentPage!=1)
html+='<li data-page="1"><a onclick="window.Pagers['+"'"+this.Pager.id+"'"+'].SelectPage(1)">First</a></li>';if(this.CurrentPage>5)
html+="<li><a>...</a></li>";for(var i=1;i<=this.NumberOfPages();i++){if(i>this.CurrentPage-4&&i<this.CurrentPage+4)
html+='<li data-page="'+i+'"><a onclick="window.Pagers['+"'"+this.Pager.id+"'"+'].SelectPage('+i+')">'+i+'</a></li>';}
if((this.NumberOfPages()-this.CurrentPage)>5)
html+="<li><a>...</a></li>";if(this.CurrentPage!=this.NumberOfPages())
html+='<li data-page="'+this.NumberOfPages()+'"><a onclick="window.Pagers['+"'"+this.Pager.id+"'"+'].SelectPage('+this.NumberOfPages()+')">Last</a></li>';}
else{for(var i=1;i<=this.NumberOfPages();i++){html+='<li data-page="'+i+'"><a onclick="window.Pagers['+"'"+this.Pager.id+"'"+'].SelectPage('+i+')">'+i+'</a></li>';}}
if(this.Length()==0)
var start=0;else
var start=1;html+='</ul><span id="qCodesPagerRange">Currently viewing <span id="'+this.Pager.id+'-PagerStart">'+start+'</span> - <span id="'+this.Pager.id+'-PagerEnd">'+this.LastPageLength()+'</span> out of <span id="'+this.Pager.id+'-PagerLength">'+this.Length()+'</span> results</span></nav>';this.Pager.innerHTML=html;}
this.ResetPager=function(start){if(start==true){this.ApplyPaging();this.RenderPager();this.SelectPage(1);}
else{this.CurrentPage=0;this.Pager.innerHTML="";}}
if(typeof window.Pagers=="undefined")
window.Pagers={};window.Pagers[this.Pager.id]=this;this.ResetPager(true);}
$Quivers.Settings=function(){this.Application={UseServerCache:true,UseLocalCache:true};this.Apply=function(settings){$Quivers.Utilities.Debug("Applying Settings...");for(var s in settings){this[s]=settings[s];}
if(typeof this.Extensions=="undefined")
this.Extensions={};}
this.GetDisplayElement=function(page){var elem=this.Pages[page].DisplayElement;if(elem==null||!document.getElementById(elem)){elem=this.General.DefaultDisplay;if(elem==null||!document.getElementById(elem))
elem="currentView";}
return elem;}
this.GetTemplateDialog=function(template){window[this.MarketplaceId].Get("module?Module=applyTemplate&Template="+template,function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.TriggerDialog("Apply Template",data.Result.Html);})}
this.ToggleDashboardType=function(ev){var selects=$Quivers.Dom.Get('[name="ProDashboard"]');for(var i=0;i<selects.length;i++){selects[i].value=selects[i].options[ev.target.selectedIndex].value;}
$Quivers.Dom.ToggleDivs('qBasicDashboard','qProDashboard');}
this.ToggleDashboardDiv=function(setting){var views=$Quivers.Dom.Get("[data-dashboard]");for(var v=0;v<views.length;v++){if(views[v].id=="qDashboard"+setting)
views[v].className="visible";else
views[v].className="hidden";}
var buttons=$Quivers.Dom.Get("[data-dashboard-button");for(var b=0;b<buttons.length;b++){if(buttons[b].getAttribute("data-dashboard-button")==setting)
buttons[b].className="qSettingNavButton active";else
buttons[b].className="qSettingNavButton";}}
this.ApplyTemplate=function(template,ev){if(!ev.target.hasAttribute('disabled')){ev.target.setAttribute("working","true");ev.target.setAttribute('disabled','true');var form=document.getElementById("qTemplateForm-"+template);var post={Template:template};for(var i in form.elements){post[form.elements[i].name]=form.elements[i].value;}
console.log(post);window[this.MarketplaceId].Post("applyTemplate",post,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){$Quivers.Dom.CreateAlert("qTemplateAlerts","success",data.Result.Html);setTimeout(function(){window[data.Result.Marketplace].Start();},1000)}
else{$Quivers.Dom.CreateAlert("qTemplateAlerts","danger",data.Result.Html);}
ev.target.setAttribute("working","false");ev.target.removeAttribute('disabled');});}}
this.SaveOnChange=function(ev){var form=ev.currentTarget;if(form.id=="")
form=ev.target.form;if(form.id.indexOf("Page")>-1){var set=form.getAttribute("Type")+"."+form.id.split("qPage")[1]+"."+ev.target.name;}
else if(form.id.indexOf("Extension")>-1){var set=form.getAttribute("Type")+"."+form.id.split("qExtension")[1]+"."+ev.target.name;}
else{var set=form.getAttribute("Type")+"."+ev.target.name;}
if(ev.target.id=="qRegistrationConsumerGroup"){window[this.MarketplaceId].Get("getRegistrationCodes?ConsumerGroup="+ev.target.options[ev.target.selectedIndex].value,function(data){if(data.ResponseCode<300){window.Pagers['qPagerParent'].Data.Length=Object.keys(data.Result.Data).length;window.Pagers['qPagerParent'].Data.ConsumerGroup=ev.target.options[ev.target.selectedIndex].value;console.log(window.Pagers['qPagerParent']);window.Pagers['qPagerParent'].SelectPage(1);}})}
if(ev.target.getAttribute("type")!="range"){var s={};if(ev.target.tagName.toLowerCase()=="select"){if(ev.target.options[ev.target.selectedIndex].value=="true")
s[set]=true;else if(ev.target.options[ev.target.selectedIndex].value=="false")
s[set]=false;else
s[set]=ev.target.options[ev.target.selectedIndex].value;}
else
s[set]=ev.target.value;if(ev.target.name=="PageSizeOptions"){s[set]=s[set].replace(" ","").split(',');for(var j in s[set])
s[set][j]=parseInt(s[set][j]);s["Catalog.DefaultPageSize"]=parseInt(s[set][0]);}
$Quivers.Utilities.Debug(s);if(ev.target.getAttribute("type")=="file"){var hc=window[this.MarketplaceId];var d=new FormData(document.getElementById(form.id));$Quivers.Utilities.Ajax({type:"POST",url:"https://"+hc.Host+"/api/v1/uploadImage/"+"?Marketplace="+hc.Marketplace,headers:{Session:hc.SessionId,ServerCache:hc.Settings.Application.UseServerCache},data:d,success:function(data){$Quivers.Utilities.Debug(data);hc.Post("updateSettings",{"Ribbon.Logo":data.Data.pictureInfo.urls['70']},function(r){var fields=$Quivers.Dom.Get("input[name='Logo'][type='text']");for(var k in fields){fields[k].value=data.Data.pictureInfo.urls['70'];}
var a=document.createElement("div");a.innerHTML=data.Html;a.className="alert alert-success";document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000)
hc.ClearWindowStorage();});},error:function(data){var a=document.createElement("div");a.innerHTML="Failed to upload image!";a.className="alert alert-danger";document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000)},cache:false,contentType:false,processData:false});}
else{window[this.MarketplaceId].Post("updateSettings",s,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300)
var alert="success";else
var alert="danger";var a=document.createElement("div");a.innerHTML=data.Result.Html;a.className="alert alert-"+alert;document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000)
window[data.Result.Marketplace].ClearWindowStorage();});}}}
this.AddCodes=function(ev){if(!ev.target.hasAttribute('disabled')){ev.target.setAttribute("working","true");ev.target.setAttribute('disabled','true');var consumerGroupSelect=document.getElementById("qRegistrationConsumerGroup");var post={Codes:document.getElementById("qBulkAddRegistrationCodes").value,ConsumerGroup:consumerGroupSelect.options[consumerGroupSelect.selectedIndex].value}
if(post.ConsumerGroup==""){var a=document.createElement("div");a.innerHTML="Error! You must select a Consumer Group first!";a.className="alert alert-danger";document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000);ev.target.setAttribute("working","false");ev.target.removeAttribute('disabled');}
else{window[this.MarketplaceId].Post("addRegistrationCodes",post,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){window.Pagers['qPagerParent'].Data.Length+=data.Result.Data.length;window.Pagers['qPagerParent'].RenderPager();window.Pagers['qPagerParent'].SelectPage(window.Pagers['qPagerParent'].NumberOfPages());document.getElementById("qBulkAddRegistrationCodes").value="";var alert="success";}
else{var alert="danger";}
var a=document.createElement("div");a.innerHTML=data.Result.Html;a.className="alert alert-"+alert;document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000)
ev.target.setAttribute("working","false");ev.target.removeAttribute('disabled');});}}}
this.DeleteCodes=function(ev){if(!ev.target.hasAttribute('disabled')){ev.target.setAttribute("working","true");ev.target.setAttribute('disabled','true');var consumerGroupSelect=document.getElementById("qRegistrationConsumerGroup");if(ev.target.hasAttribute("data-code"))
var post="deleteRegistrationCodes?Code="+ev.target.getAttribute("data-code")+"&ConsumerGroup="+consumerGroupSelect.options[consumerGroupSelect.selectedIndex].value;else
var post="deleteRegistrationCodes?ConsumerGroup="+consumerGroupSelect.options[consumerGroupSelect.selectedIndex].value
window[this.MarketplaceId].Post(post,null,function(data){data=$Quivers.Utilities.FormatResult(data);if(data.ResponseCode<300){if(data.Result.Data.Deleted=="All"){document.getElementById("qRegistrationCodesTable").innerHTML="<tr><th>Code</th><th>ConsumerGroup</th><th>Times Used</th><th>Used By...</th><th></th></tr>";window.Pagers['qPagerParent'].Data.Length=0;}
else{var remove=document.getElementById(data.Result.Data.Deleted);remove.parentNode.removeChild(remove);window.Pagers['qPagerParent'].Data.Length--;}
window.Pagers['qPagerParent'].RenderPager();var alert="success";}
else{var alert="danger";}
window.Pagers['qPagerParent'].ResetPager(true);var a=document.createElement("div");a.innerHTML=data.Result.Html;a.className="alert alert-"+alert;document.getElementById("qSettingsNotifications").appendChild(a);setTimeout(function(){a.setAttribute("style","opacity: 0;");setTimeout(function(){a.parentNode.removeChild(a);},600);},1000)
ev.target.setAttribute("working","false");ev.target.removeAttribute('disabled');});}}
this.SearchCodes=function(ev){var searchTerm=ev.target.value;var consumerGroupSelect=document.getElementById("qRegistrationConsumerGroup");var p=window.Pagers['qPagerParent'];if(searchTerm==""||searchTerm==null){window.Pagers['qPagerParent'].ResetPager(true);}
else{window.Pagers['qPagerParent'].ResetPager(false);window[this.MarketplaceId].Get(p.Data.Resource+"?ConsumerGroup="+consumerGroupSelect.options[consumerGroupSelect.selectedIndex].value+"&Query="+searchTerm,function(data){data=$Quivers.Utilities.FormatResult(data);p.Parent.innerHTML='';var header=document.createElement("tr");header.innerHTML='<th>Code</th><th>ConsumerGroup</th><th>Times Used</th><th>Used By...</th><th></th>';p.Parent.appendChild(header);for(var i=0;i<data.Result.Data.length;i++){var row=document.createElement("tr");row.setAttribute("data-page",p.CurrentPage);row.innerHTML='<td>'+data.Result.Data[i].Code+'</td>';row.innerHTML+='<td>'+data.Result.Data[i].ConsumerGroupName+'</td>';row.innerHTML+='<td>'+data.Result.Data[i].TimesUsed+'</td><td data-code-used-by>'+data.Result.Data[i].UsedBy+'</td><td><a class="qWidgetButton" data-code="'+data.Result.Data[i]._id+'" onclick="window['+"'"+p.MarketplaceId+"'"+'].Settings.DeleteCodes(event);">Delete</a></td>';p.Parent.appendChild(row);}
p.Parent.setAttribute('loading','false');})}}
this.ExportCodes=function(ev){var consumerGroupSelect=document.getElementById("qRegistrationConsumerGroup");window[this.MarketplaceId].Get("exportRegistrationCodes?ConsumerGroup="+consumerGroupSelect.options[consumerGroupSelect.selectedIndex].value);}}
$Quivers["/api/v1/exportRegistrationCodes"]={beforeSend:function(){document.getElementById("qExportRegistrationCodes").setAttribute("working","true");document.getElementById("qExportRegistrationCodes").setAttribute("disabled","true");document.getElementById("qExportRegistrationCodes").setAttribute("style","pointer-events: none;");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);window.location.replace("https://"+window[data.Result.Marketplace].Host+"/"+data.Result.Data.Filepath);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);},complete:function(){document.getElementById("qExportRegistrationCodes").setAttribute("working","false");document.getElementById("qExportRegistrationCodes").removeAttribute("disabled");document.getElementById("qExportRegistrationCodes").setAttribute("style","");}}
ShopEmployeeExtension={Search:function(ev){if(typeof ev=="undefined")
var query=document.getElementById('qShopEmployeeRetailerSearchInput').value;else
var query=ev.target.value;document.getElementById("qShopEmployeeRetailer").setAttribute('loading','true');window[this.MarketplaceId].Get("SearchShopEmployeeRetailers?Query="+query,function(data){document.getElementById("qShopEmployeeRetailer").setAttribute('loading','false');if(data.Result.Data.Retailer!=null)
document.getElementById("qShopEmployeeRetailer").innerHTML=data.Result.Html;else
document.getElementById("qShopEmployeeRetailer").innerHTML='<div class="alert alert-warning">No matching retailers found.</div>';})},DeleteAddress:function(id){var rows=$Quivers.Dom.Get('[data-address-id="'+id+'"]');for(var i=0;i<rows.length;i++){if(rows[i].className=="danger"){rows[i].className="";document.getElementById('qAddressDeleteInput-'+id).value="false";}
else{rows[i].className="danger";document.getElementById('qAddressDeleteInput-'+id).value="true";}}},CreateAddress:function(ev){var row=document.getElementById("qShopEmployeeRetailerCreateAddress");if(row.className=="hidden"){row.className="info";document.getElementById('qAddressCreateInput').value="true";ev.target.className="qWidgetButton hidden";}
else{row.className="hidden";document.getElementById('qAddressCreateInput').value="false";ev.target.className="qWidgetButton visible";}},CreateRetailer:function(){window[this.MarketplaceId].Get("module?Module=createShopEmployeeRetailer",function(data){$Quivers.Dom.TriggerDialog("Create Retailer",data.Result.Html);});}};$Quivers["/api/v1/createShopEmployeeRetailer"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.CloseDialog();document.getElementById("qShopEmployeeRetailer").innerHTML=data.Result.Html;},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);$Quivers.Dom.CloseDialog();document.getElementById("qShopEmployeeRetailer").innerHTML='<div class="alert alert-warning">'+data.Result.Html+'</div>';}}
$Quivers["/api/v1/editShopEmployeeRetailer"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);var button=document.getElementById("EditRetailer-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");document.getElementById("qShopEmployeeRetailer").innerHTML=data.Result.Html;$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="EditRetailer"]')[0].id,"success","Successfully updated retailer '<b>"+data.Result.Data.Retailer.Name+"</b>' ('<b>"+data.Result.Data.Retailer._id+"</b>')!");},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var button=document.getElementById("EditRetailer-Submit");button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert($Quivers.Dom.Get('[data-form-alerts="EditRetailer"]')[0].id,"danger",data.Result.Html);}}
$Quivers["/api/v1/exportShopEmployeeRetailers"]={beforeSend:function(){document.getElementById("qExportRetailers").setAttribute("working","true");document.getElementById("qExportRetailers").setAttribute("disabled","true");document.getElementById("qExportRetailers").setAttribute("style","pointer-events: none;");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);window.location.replace("https://"+window[data.Result.Marketplace].Host+"/"+data.Result.Data.Filepath);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);},complete:function(){document.getElementById("qExportRetailers").setAttribute("working","false");document.getElementById("qExportRetailers").removeAttribute("disabled");document.getElementById("qExportRetailers").setAttribute("style","");}}
$Quivers["/api/v1/exportShopEmployeeRetailerAddresses"]={beforeSend:function(){document.getElementById("qExportAddresses").setAttribute("working","true");document.getElementById("qExportAddresses").setAttribute("disabled","true");document.getElementById("qExportAddresses").setAttribute("style","pointer-events: none;");return true;},success:function(data){data=$Quivers.Utilities.FormatResult(data);window.location.replace("https://"+window[data.Result.Marketplace].Host+"/"+data.Result.Data.Filepath);},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);},complete:function(){document.getElementById("qExportAddresses").setAttribute("working","false");document.getElementById("qExportAddresses").removeAttribute("disabled");document.getElementById("qExportAddresses").setAttribute("style","");}}
$Quivers.Translation={Start:function(){var hc=window[this.MarketplaceId];var setupGoogTransEventListener=function(){var combos=$Quivers.Dom.Get('.goog-te-combo');if(combos.length>0){combos.forEach(function(combo){combo.addEventListener("change",function(){$Quivers.Utilities.Debug("Detecting a change in Language...");var language=this.options[this.selectedIndex].value;if(language!="")
hc.Translation.SetLanguage(language,false);});});}
var selector=document.getElementById('qHoverCartLanguageSelector');if(selector){selector.addEventListener("change",function(){$Quivers.Utilities.Debug("Detecting a change in Language...");var language=this.options[this.selectedIndex].value;if(language!="")
hc.Translation.SetLanguage(language);});}}
if(typeof google==="undefined"||typeof google.translate==='undefined'){$Quivers.Utilities.LoadScript("//translate.google.com/translate_a/element.js",function(){if(typeof hc.Settings.Translation.DisplayElement=="undefined"||hc.Settings.Translation.DisplayElement=="")
var displayElement="google_translate_element";else
var displayElement=hc.Settings.Translation.DisplayElement;if(!document.getElementById(displayElement)){var gt=document.createElement("div");gt.id=displayElement;if(hc.Settings.Translation.DisplayType!="Widget"){gt.setAttribute("style","display: none !important;");gt.className="hidden";}
document.body.appendChild(gt);}
if(hc.Settings.Translation.TranslateEverything==false){document.body.className+=" notranslate";}
var googTransCheck=setInterval(function(){if(typeof google.translate.TranslateElement=="function"){$Quivers.Utilities.Debug("Initiating HC Google Translate.");var options={includedLanguages:hc.Settings.Translation.SupportedLanguages,layout:1,};if(hc.Settings.Translation.DisplayType=="HoverCart")
options.autoDisplay=false;new google.translate.TranslateElement(options,displayElement);setupGoogTransEventListener();clearInterval(googTransCheck);setTimeout(function(){hc.Translation.SwapCustomTerms();},1000);}},100);})}
else{console.warn("Translation is enabled on this HoverCart, however this website already uses Google Translate. HoverCart specific Google Translate settings will not take effect.");setupGoogTransEventListener();}},GetCurrentLanguage:function(){var hc=window[this.MarketplaceId];if(hc.Settings.Translation.Enabled==false){return"en";}
else{var googtrans=$Quivers.Utilities.GetCookie("googtrans");if(googtrans!=null)
googtrans=googtrans.replace("/en/","").replace("/auto/","");if(typeof hc.Settings.Translation.LanguageCookie=="undefined"||hc.Settings.Translation.LanguageCookie==null||hc.Settings.Translation.LanguageCookie=="")
var currentLang=googtrans;else
var currentLang=$Quivers.Utilities.GetCookie(hc.Settings.Translation.LanguageCookie);if(currentLang==null)
return googtrans;else
return currentLang;}},SetLanguage:function(language,changeSelector){$Quivers.Utilities.Debug("Attempting to set language to '"+language+"'!");var hc=window[this.MarketplaceId];try{hc.Translation.ReverseSwappedTerms();}
catch(err){}
if(typeof changeSelector=="undefined"||changeSelector==true){var selectors=$Quivers.Dom.Get('.goog-te-combo');if(selectors.length>0){if(selectors[0].selectedIndex==-1||selectors[0].options[selectors[0].selectedIndex].value!==language){for(var k=0;selectors[0].options.length;k++){if(typeof selectors[0].options[k]!=="undefined"&&language==selectors[0].options[k].value){selectors[0].selectedIndex=k;selectors[0].click();selectors[0].options[k].click();$Quivers.Utilities.CreateCookie("googtrans","/en/"+language.replace("/en/","").replace("/auto/",""));break;}}}}
setTimeout(function(){hc.Translation.SwapCustomTerms();},500);}
var s=document.getElementById("qHoverCartLanguageSelector");if(s){for(var i=0;i<s.options.length;i++){if(s.options[i].value==language){s.selectedIndex=i;var frame=document.querySelector('.goog-te-menu-frame');if(frame){var fullLang=s.options[i].getAttribute('data-lang');console.log(fullLang);try{var frameDoc=frame.contentDocument||(frame.contentWindow&&frame.contentWindow.document);var langs=frameDoc?Array.prototype.slice.call(frameDoc.querySelectorAll('a span.text')):[];}
catch(err){console.warn(err);var langs=[];}
for(var k=0;k<langs.length;k++){console.log("is "+langs[k].innerText+" == "+fullLang+"? -> "+(langs[k].innerText==fullLang));if(langs[k].innerText==fullLang){langs[k].click();break;}}}
break;}}}
$Quivers.Utilities.CreateCookie("googtrans","/en/"+language.replace("/en/","").replace("/auto/",""));if(typeof hc.Settings.Translation.LanguageCookie!=="undefined"&&hc.Settings.Translation.LanguageCookie!="googtrans"&&hc.Settings.Translation.LanguageCookie!=null){$Quivers.Utilities.CreateCookie(hc.Settings.Translation.LanguageCookie,language.replace("/en/","").replace("/auto/",""));}
window.location.reload();},ToggleAddRule:function(language){var row=document.getElementById("qCustomTermsCreateRule-"+language);var button=document.getElementById("qAddRule-"+language);var numberOfRows=document.getElementById("qRules-"+language).children.length;if(row){if(row.className=="hidden"){row.className="info";button.className="qWidgetButton hidden";document.getElementById("qRulesTable-"+language).className="table table-responsive";document.getElementById("qSubmitArea-"+language).className="qSubmitArea visible";document.getElementById("qCreateRule-"+language).value="true";}
else{row.className="hidden";button.className="qWidgetButton visible";if(numberOfRows==2){document.getElementById("qRulesTable-"+language).className="table table-responsive hidden";document.getElementById("qSubmitArea-"+language).className="qSubmitArea hidden";}
document.getElementById("qCreateRule-"+language).value="false";}}
var alert=document.getElementById('qNoRulesAlert-'+language);if(alert){if(alert.className=="qNoRulesAlert alert alert-warning visible")
alert.className="qNoRulesAlert alert alert-warning hidden";else if(numberOfRows==2)
alert.className="qNoRulesAlert alert alert-warning visible";}},DeleteRule:function(id,language){var rows=$Quivers.Dom.Get('[data-language="'+language+'"][data-rule="'+id+'"]');for(var i=0;i<rows.length;i++){if(rows[i].className=="danger"){rows[i].className="";document.getElementById('qDeleteRule-'+id+"-"+language).value="false";}
else{rows[i].className="danger";document.getElementById('qDeleteRule-'+id+"-"+language).value="true";}}},CreateLanguageRuleset:function(language){window[this.MarketplaceId].Post("updateCustomTerms",{Language:language},function(){var select=document.getElementById("qAddLanguageSelect");for(var i=0;i<select.children.length;i++){if(select.children[i].value==language)
select.children[i].parentNode.removeChild(select.children[i]);}});},SwapCustomTerms:function(node,isWidgetsContext){var hc=window[this.MarketplaceId];var language=hc.Translation.GetCurrentLanguage();if(typeof hc.Settings.CustomTerms!=="undefined"&&typeof hc.Settings.CustomTerms[language]!=="undefined"){var rules=hc.Settings.CustomTerms[language];for(var i=0;i<rules.length;i++){if(rules[i].Enabled==true&&rules[i].OriginalText!=null&&rules[i].OriginalText.length>3&&rules[i].OriginalText!="  "){if(rules[i].Context=="Global"||rules[i].Context==hc.CurrentView){if(typeof node==="undefined")
var quiversElements=$Quivers.Dom.Get('[quivers-bootstrap="true"]');else
var quiversElements=[node];for(var j=0;j<quiversElements.length;j++){$Quivers.Dom.Traverse(quiversElements[j],function(node){if(node.parentNode==null||typeof node.parentNode.getAttribute=="undefined"||node.parentNode.getAttribute("data-termswapped")===null){if(node.nodeType===3){if(node.data.length>0){if(node.data.indexOf(rules[i].OriginalText)!==-1){node.data=node.data.replace(rules[i].OriginalText,rules[i].ReplacementText);node.parentNode.setAttribute('data-termswapped','true');hc.Translation.SwappedTerms.push({Node:node,Type:"data",Language:language,OriginalText:rules[i].OriginalText,ReplacementText:rules[i].ReplacementText});}}}}
if(typeof node.hasAttribute!=="undefined"&&node.hasAttribute("title")==true){if(node.getAttribute("title").indexOf(rules[i].OriginalText)!==-1){var titleText=node.getAttribute("title");titleText=titleText.replace(rules[i].OriginalText,rules[i].ReplacementText);node.setAttribute("title",titleText);node.setAttribute("data-termswapped","true");hc.Translation.SwappedTerms.push({Node:node,Type:"title",Language:language,OriginalText:rules[i].OriginalText,ReplacementText:rules[i].ReplacementText});}}});}}}}}
if(typeof text!=="undefined")
return text;else
return true;},ReverseSwappedTerms:function(){var hc=window[this.MarketplaceId];for(var i=0;i<this.SwappedTerms.length;i++){if(this.SwappedTerms[i].Node.Type=="data")
this.SwappedTerms[i].Node.data=this.SwappedTerms[i].Node.data.replace(this.SwappedTerms[i].ReplacementText,this.SwappedTerms[i].OriginalText);if(this.SwappedTerms[i].Node.Type=="title"){var titleText=this.SwappedTerms[i].Node.getAttribute("title");titleText.replace(this.SwappedTerms[i].ReplacementText,this.SwappedTerms[i].OriginalText);this.SwappedTerms[i].Node.setAttribute("title",titleText);}}
this.SwappedTerms=[];var swapped=$Quivers.Dom.Get('[data-termswapped');for(var i=0;i<swapped.length;i++){swapped[i].removeAttribute("data-termswapped");}
return true;},SwappedTerms:[]}
$Quivers["/api/v1/updateCustomTerms"]={success:function(data){data=$Quivers.Utilities.FormatResult(data);if(!document.getElementById("q-LanguageCustomTerms-"+data.Result.Data.Language)){var tab=document.createElement("li");tab.setAttribute('role','CustomTermsLanguage');tab.setAttribute("data-target","qLanguageForm-"+data.Result.Data.Language);tab.className="tab";tab.innerHTML="<a onclick=\"window['"+data.Result.Marketplace+"'].Dom.ToggleTab(event);\">"+data.Result.Data.LanguageFullname+'</a>';document.getElementById("qLanguageTabs").appendChild(tab);var tabs=$Quivers.Dom.Get('.tab[role="CustomTermsLanguage"]');for(var i=0;i<tabs.length;i++)
tabs[i].className="tab";tab.className="tab active";var content=document.createElement("div");content.id="qLanguageForm-"+data.Result.Data.Language;content.className="visible";content.innerHTML=data.Result.Html;var container=document.getElementById("qLanguageRulesContainer");for(var c in container.children){container.children[c].className="hidden";}
container.appendChild(content);$Quivers.Dom.CreateAlert("qLanguageCustomTerms-"+data.Result.Data.Language+"Alerts","success","Successfully added the language '<strong>"+data.Result.Data.LanguageFullname+"</strong>'!");}
else{var button=document.getElementById("qSubmitArea-"+data.Result.Data.Language).children[0];button.setAttribute("working","false");button.removeAttribute("disabled");document.getElementById("qLanguageForm-"+data.Result.Data.Language).innerHTML=data.Result.Html;$Quivers.Dom.CreateAlert("qLanguageCustomTerms-"+data.Result.Data.Language+"Alerts","success","Successfully updated Custom Term Rules!");$Quivers.Dom.CreateAlert("qCustomTermsAlerts","warning","Notice: You will need to refresh your browser page in order to see the latest changes.");}},error:function(xhr){data=$Quivers.Utilities.FormatResult(xhr);var button=document.getElementById("qSubmitArea-"+data.Result.Data.Language).children[0];button.setAttribute("working","false");button.removeAttribute("disabled");$Quivers.Dom.CreateAlert("qLanguageCustomTerms-"+data.Result.Data.Language+"Alerts","danger",data.Result.Html);}}
$Quivers.Utilities={CreateGuid:function(){var d=new Date().getTime();var guid='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){var r=(d+Math.random()*16)%16|0;d=Math.floor(d/16);return(c=='x'?r:(r&0x3|0x8)).toString(16);});return guid;},CreateCookie:function(cookie,value,expiresInDays){if(typeof expiresInDays=="undefined")
var expiresInDays="Fri, 31 Dec 9999 23:59:59 GMT";else{var d=new Date();d.setTime(d.getTime()+(expiresInDays*24*60*60*1000));expiresInDays=d.toGMTString();}
document.cookie=cookie+"="+value+"; expires="+expiresInDays+"; path=/";return value;},GetCookie:function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
return null;},DestroyCookie:function(name){document.cookie=name+'=""; Max-Age=0;';return true;},GetBrowser:function(){var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if(/trident/i.test(M[1])){tem=/\brv[ :]+(\d+)/g.exec(ua)||[];return{name:'IE',version:(tem[1]||'')};}
if(M[1]==='Chrome'){tem=ua.match(/\bOPR\/(\d+)/)
if(tem!=null){return{name:'Opera',version:tem[1]};}}
M=M[2]?[M[1],M[2]]:[navigator.appName,navigator.appVersion,'-?'];if((tem=ua.match(/version\/(\d+)/i))!=null){M.splice(1,1,tem[1]);}
return{name:M[0],version:M[1]};},GetAllQueries:function(){var a=window.location.search.substr(1).split('&');if(a=="")return{};var b={};for(var i=0;i<a.length;++i)
{var p=a[i].split('=',2);if(p.length==1)
b[p[0]]="";else
b[p[0]]=decodeURIComponent(p[1].replace(/\+/g," "));}
return b;},GetQuery:function(name){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regex=new RegExp("[\\?&]"+name+"=([^&#]*)"),results=regex.exec(location.search);if(results===null){regex=new RegExp("[\\?&]"+name.toLowerCase()+"=([^&#]*)"),results=regex.exec(location.search);}
return results===null?"":decodeURIComponent(results[1].replace(/\+/g," "));},GetLocalStorageSize:function(){var allStrings='';for(var key in window.localStorage){if(window.localStorage.hasOwnProperty(key)){allStrings+=window.localStorage[key];}}
return allStrings?3+((allStrings.length*16)/(8*1024))+' KB':'Empty (0 KB)';},ClearLocalStorage:function(){Object.keys(localStorage).forEach(function(key){if(key.indexOf("/api/v1/module")!==-1)
localStorage.removeItem(key)});},GetBrowserAndOS:function(){try{var nVer=navigator.appVersion;var nAgt=navigator.userAgent;var browserName=navigator.appName;var fullVersion=''+parseFloat(navigator.appVersion);var majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if((verOffset=nAgt.indexOf("OPR"))!=-1){browserName="Opera";fullVersion=nAgt.substring(verOffset+4);if((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion=nAgt.substring(verOffset+8);}
else if((verOffset=nAgt.indexOf("Edg"))!=-1){browserName="Microsoft Edge";fullVersion=nAgt.substring(verOffset+4);}
else if((verOffset=nAgt.indexOf("MSIE"))!=-1){browserName="Microsoft Internet Explorer";fullVersion=nAgt.substring(verOffset+5);}
else if((verOffset=nAgt.indexOf("Chrome"))!=-1){browserName="Chrome";fullVersion=nAgt.substring(verOffset+7);}
else if((verOffset=nAgt.indexOf("Safari"))!=-1){browserName="Safari";fullVersion=nAgt.substring(verOffset+7);if((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion=nAgt.substring(verOffset+8);}
else if((verOffset=nAgt.indexOf("Firefox"))!=-1){browserName="Firefox";fullVersion=nAgt.substring(verOffset+8);}
else if((nameOffset=nAgt.lastIndexOf(' ')+1)<(verOffset=nAgt.lastIndexOf('/'))){browserName=nAgt.substring(nameOffset,verOffset);fullVersion=nAgt.substring(verOffset+1);if(browserName.toLowerCase()==browserName.toUpperCase()){browserName=navigator.appName;}}
if((ix=fullVersion.indexOf(";"))!=-1)
fullVersion=fullVersion.substring(0,ix);if((ix=fullVersion.indexOf(" "))!=-1)
fullVersion=fullVersion.substring(0,ix);majorVersion=parseInt(''+fullVersion,10);if(isNaN(majorVersion)){fullVersion=''+parseFloat(navigator.appVersion);majorVersion=parseInt(navigator.appVersion,10);}
var OSName="Unknown OS";if(navigator.appVersion.indexOf("Win")!=-1)OSName="Windows";if(navigator.appVersion.indexOf("Mac")!=-1)OSName="MacOS";if(navigator.appVersion.indexOf("X11")!=-1)OSName="UNIX";if(navigator.appVersion.indexOf("Linux")!=-1)OSName="Linux";return{os:OSName,browser:browserName+' ('+fullVersion+')'}}
catch(err){console.warn(err);return{os:"unknown",browser:"unknown"}}},IsMobileDevice:function(){var check=false;(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check=true;})(navigator.userAgent||navigator.vendor||window.opera);return check;},FormatResult:function(response){if(typeof response.responseText!="undefined"){var data={ResponseCode:response.status,Result:JSON.parse(response.responseText)};$Quivers.Utilities.Debug(data);}
else
var data=response;if(typeof data.Result=="undefined"){data={Result:data}
$Quivers.Utilities.Debug(data);}
return data;},SelectDropdownValue:function(dropdown,value){var selectedValue=null;for(var i in dropdown.options){if(dropdown.options[i].value!="undefined"&&dropdown.options[i].value==value){dropdown.options[i].selected=true;dropdown.selectedIndex=i;dropdown.trigger("change");selectedValue=value;}
else
dropdown.options[i].selected=false;}
return(selectedValue!=null);},RemoveEmailsFromString:function(str){do{var sliced="";var emailStartsAtIndex=str.indexOf("email=");if(emailStartsAtIndex!==-1){var end=str.substring(emailStartsAtIndex).indexOf("&");if(end==-1)
end=str.length;sliced=str.slice(emailStartsAtIndex+6,end);str=str.replace(sliced,'');}}while(sliced.length>0);return str;},PrintElement:function(element,title=null){if(typeof element=="string")
element=document.getElementById(element);var content=element.innerHTML;var print_window=window.open('','','height=600, width=800');print_window.document.write('<html><body>'+content+'</body></html>');if(title)
print_window.document.title=title;print_window.addEventListener("afterprint",function(event){print_window.close();});print_window.document.close();print_window.print();},Debug:function(thing){if($Quivers.DEBUG===true){console.log(thing);}
return null;},Ajax:function(options){var settings=options||{};var xhr=new XMLHttpRequest();var method=(settings.type||settings.method||"GET").toUpperCase();if(typeof settings.beforeSend=="function"){var proceed=settings.beforeSend(xhr,settings);if(proceed===false)
return xhr;}
xhr.open(method,settings.url,true);if(settings.timeout)
xhr.timeout=settings.timeout;if(settings.headers){for(var header in settings.headers){if(settings.headers[header]!==null&&typeof settings.headers[header]!=="undefined"){try{xhr.setRequestHeader(header,settings.headers[header]);}
catch(err){console.warn(err);}}}}
if(settings.contentType)
xhr.setRequestHeader("Content-Type",settings.contentType);var finish=function(status){var contentType="";try{contentType=xhr.getResponseHeader("Content-Type")||"";}
catch(err){}
if(status=="success"&&typeof settings.success=="function"){var parsed=xhr.responseText;if(contentType.toLowerCase().indexOf("json")>-1){try{parsed=JSON.parse(xhr.responseText);}
catch(err){parsed=xhr.responseText;}}
settings.success(parsed,status,xhr);}
else if(status!="success"&&typeof settings.error=="function"){settings.error(xhr,status,xhr.statusText);}
if(typeof settings.complete=="function")
settings.complete(xhr,status);};xhr.onload=function(){if(xhr.status>=200&&xhr.status<300)
finish("success");else
finish("error");};xhr.onerror=function(){finish("error");};if(settings.timeout){xhr.ontimeout=function(){finish("timeout");};}
xhr.send(typeof settings.data=="undefined"?null:settings.data);return xhr;},LoadScript:function(src,callback){var script=document.createElement("SCRIPT");script.type="text/javascript";script.src=src;script.async=true;if(typeof callback=="function"){script.onload=function(){callback();};script.onerror=function(err){$Quivers.Utilities.Debug(err);};}
(document.getElementsByTagName("head")[0]||document.body).appendChild(script);return script;}}
$Quivers.View=function(view,updateUrl){var view=view.charAt(0).toUpperCase()+view.slice(1);var whitelist=['ForgotPassword',"UpdatePassword","Register","Guest","LoginCheck"];if(whitelist.indexOf(view)>-1){var module="&Module="+view;view="Login";updateUrl=false;}
else if(view=="Orders"){var module="&Module="+view;view="Account";updateUrl=false;}
else
var module="";var page=this.Settings.Pages[view];if(typeof updateUrl=="undefined")
updateUrl=true;$Quivers.Dom.CloseDialog();var zooms=document.getElementsByClassName("zoomContainer");for(var i=0;i<zooms.length;i++){if(typeof zooms[i]!=="function")
zooms[i].parentNode.removeChild(zooms[i])}
if(typeof page=="undefined")
return false;else{var self=this;var getAbsoluteURL=function(relativeUrl){var url=window.location.origin;if(relativeUrl.indexOf("/")!==0)
url+="/";url+=relativeUrl;return url;}
if(this.Settings.General.HomeUrl===null)
this.Settings.General.HomeUrl='';if(page.pageUrl===null)
page.pageUrl='';var hasHomeUrl=(this.Settings.General.HomeUrl!==null&&this.Settings.General.HomeUrl!="");var absoluteHomeUrl=(this.Settings.General.HomeUrl.indexOf('http')===0)?this.Settings.General.HomeUrl:getAbsoluteURL(this.Settings.General.HomeUrl);var hasPageUrl=(page.PageUrl!=""&&page.PageUrl!==null);var absolutePageUrl=(page.PageUrl.indexOf('http')===0)?page.PageUrl:getAbsoluteURL(page.PageUrl);var currentUrl=window.location.protocol+"//"+window.location.hostname+window.location.pathname;if(hasHomeUrl&&currentUrl!=absoluteHomeUrl){if(this.Settings.General.RenderViewOnPageUrlRedirect==true)
var goTo=absoluteHomeUrl+this.GetUrlScheme("Default",view);else
var goTo=absoluteHomeUrl;window.location=goTo;}
else if(!hasPageUrl||(hasPageUrl&&currentUrl==absolutePageUrl)){if(updateUrl){var url=this.GetUrlScheme("Default",view);var cView=view.charAt(0).toUpperCase()+view.slice(1);this.UpdateURL(url,view,updateUrl);this.Analytics.SetPage(page.Name,view);}
var viewExists=false;if(page.Enabled){var navs=document.getElementsByClassName("qIcon");for(var i=0;i<navs.length;i++){if(page.NavButton==navs[i].children[0].getAttribute("data-nav")){viewExists=true;navs[i].setAttribute("data-active","true");var element=document.getElementById(page.DisplayElement);if(!element||element==null)
element=document.getElementById(this.Settings.General.DefaultDisplay);if(!element)
element=document.getElementById("currentView");if(element.id=="currentView"){document.getElementById("QuiversContent").className="visible";if(page.NavButton=="login")
element.className="col-xs-12 qLoginOverlay";else if(page.NavButton=="products"||page.NavButton=="buyProduct")
element.className="col-xs-12 qProductsOverlay";else
element.className="col-xs-12";}
if(element.id!="currentView"&&document.getElementById("QuiversContent").className=="visible")
document.getElementById("QuiversContent").className="hidden";element.setAttribute("loading","true");var add="";var additionalQueries=['Firstname','Lastname','Email','Code','affiliate','Affiliate','RetailerRefId','Token','token'];if(typeof this.IgnoreCartToken=="undefined"||this.IgnoreCartToken==false){additionalQueries.push('cart');additionalQueries.push('Cart');}
var v=null;for(var k in additionalQueries){if(typeof additionalQueries[k]!="function"){v=$Quivers.Utilities.GetQuery(additionalQueries[k]);if(v!="")
add+="&"+additionalQueries[k]+"="+v;}}
this.Get("view?View="+view+module+add);}
else
navs[i].setAttribute("data-active","false");}
if(viewExists==false){if(page.Name.toLowerCase()=="login"||page.Name.toLowerCase()=="logincheck"){if(this.Settings.General.DefaultPage&&this.Settings.General.DefaultPage.toLowerCase()!="login"&&this.Settings.General.DefaultPage.toLowerCase()!="register"){this.View(this.Settings.General.DefaultPage);}}
else if(page.Enabled==true&&this.Settings.Pages.Login.Enabled==true){if(page.Name=="ProductShort"){var hc=this;setTimeout(function(){hc.View("ProductShort",false);},50)}
else
this.View("Login",false);}
else{var elem=this.Settings.General.DefaultDisplay;document.getElementById(elem).innerHTML="";document.getElementById(elem).setAttribute("quivers-view","true");document.getElementById(elem).setAttribute("quivers-bootstrap","true");$Quivers.Dom.CreateAlert(elem,"warning",this.$("PageDoesNotExist"));}}}
else{if(typeof request!="undefined")
request.abort();return false;}}
else{if(this.Settings.General.RenderViewOnPageUrlRedirect==true){if(view=="Products"&&this.Utilities.GetQuery(this.Settings.QueryTokens.Product)!=""){var pId=this.Utilities.GetQuery(this.Settings.QueryTokens.Product);var goTo=absolutePageUrl+this.GetUrlScheme("Product",pId)}
else
var goTo=absolutePageUrl+this.GetUrlScheme("Default",view);}
else
var goTo=absolutePageUrl;if($Quivers.Utilities.GetQuery("Cart")!==""){goTo+="&Cart="+encodeURIComponent($Quivers.Utilities.GetQuery("Cart"));}
window.location=goTo;}}}
$Quivers.HideView=function(){document.getElementById("QuiversContent").className="hidden";document.getElementById('currentView').setAttribute("data-view","");var navs=document.getElementsByClassName("qIcon");for(var i=0;i<navs.length;i++){navs[i].setAttribute("data-active","false");}
this.UpdateURL('');}
$Quivers.SelectViewFromUrl=function(){for(var key in this.Settings.QueryTokens){var load=this.GetModuleQueryId(key);if(load!=""){switch(key){case"Default":this.View(load,false);return true;case"Search":if(this.CurrentView!="Products")
this.View("Products",false);else
this.Catalog.Search(load);return true;case"Category":if(this.CurrentView!="Products")
this.View("Products",false);else
this.Catalog.Category(load);return true;case"Product":if(this.CurrentView!="Products")
this.View("Products",false);else
this.Catalog.ProductDetails(load);return true;case"ProductReview":if(this.CurrentView!="Products")
this.View("Products",false);else
this.Catalog.ProductReviews(load);return true;case"ProductShort":if(this.CurrentView!="ProductShort")
this.View("ProductShort",false);else
this.Catalog.ProductShort(load);return true;case"Order":if(this.CurrentView!="Order")
this.View("Order",false);return true;case"Orders":if(this.CurrentView!="Account")
this.View("Orders",false);else
this.Orders.Details(load);return true;}}}
if(this.Settings.General&&this.Settings.General.DefaultPage!=null)
this.View(this.Settings.General.DefaultPage);return true;}
$Quivers.GetModuleQuery=function(){for(var key in this.Settings.QueryTokens){if(key!="Default"){var load=$Quivers.Utilities.GetQuery(this.Settings.QueryTokens[key]);if(load!=""){if(load.indexOf("/")!==-1)
load=load.slice(0,load.indexOf("/"));return"&Select="+key+"-"+load;}}}
return"";}
$Quivers.GetModuleQueryId=function(key){if(this.Settings.General.UrlScheme=="QueryParameters"){var load=$Quivers.Utilities.GetQuery(this.Settings.QueryTokens[key]);if(key!="Default"){if(load.indexOf("/")!==-1)
load=load.slice(0,load.indexOf("/"));}
return load;}}
$Quivers.GetUrlScheme=function(type,value){switch(this.Settings.General.UrlScheme){case"QueryParameters":return"?"+this.Settings.QueryTokens[type]+"="+value;case"Path":if(type=="Default")
return value+"/";else
return this.Settings.QueryTokens[type]+"/"+value+"/";}}
$Quivers.ConstructURL=function(str){var queries=$Quivers.Utilities.GetAllQueries();for(var i in queries){for(var k in this.Settings.QueryTokens){if(i==this.Settings.QueryTokens[k])
delete queries[i];}}
var url=str;for(var j in queries){url+="&"+j+"="+encodeURIComponent(queries[j].replace(" ","+"));}
return url;}
$Quivers.UpdateURL=function(url,title,pushState){var url=this.ConstructURL(url);var hc=this;var host=window.location.hostname;if(window.location.port!="80"&&window.location.port!="443")
host+=":"+window.location.port;url=window.location.protocol+"//"+host+window.location.pathname+url;if(url!==false){var currentHasState=!(hc.GetModuleQuery()===""&&$Quivers.Utilities.GetQuery(hc.Settings.QueryTokens["Default"])==="");var isProductShort=url.indexOf("?"+hc.Settings.QueryTokens["ProductShort"]+"=")>-1;hc.LastURI=window.location.search;if(pushState===true||typeof pushState=="undefined"){if(!currentHasState||isProductShort||url===window.location.href){$Quivers.Utilities.Debug("window.history.replaceState() -> "+url+" ("+title+")");window.history.replaceState(url,title,url);}
else{$Quivers.Utilities.Debug("window.history.pushState() -> "+url+" ("+title+")");window.history.pushState(url,title,url);}}}}
$Quivers.SupportArticle=function(article){var articles=$Quivers.Dom.Get("[data-qSupportArticle]");if(typeof article!="undefined"){var found=false;for(var i=0;i<articles.length;i++){if(articles[i].id==article){articles[i].className="visible";found=true;}
else
articles[i].className="hidden";}
if(found==false)
document.getElementById("qSupportQuestions").className="visible";else
document.getElementById("qSupportQuestions").className="hidden";}
else{document.getElementById("qSupportQuestions").className="visible";for(var i=0;i<articles.length;i++){articles[i].className="hidden";}}}
$Quivers.Documents=function(){var hc=this;hc.Get("module?Module=documents",function(data){data=$Quivers.Utilities.FormatResult(data);$Quivers.Dom.TriggerDialog(hc.$("DocumentsPageTitle"),data.Result.Html);});}
function Zenith(e,o){this._version="0.2.2",e=e||null,o||(o=function(){}),this._cookieName="Zenith-sdk-auth",this._localStorageName="Zenithauth",this._preferWebsocket=e.websocket||!1,this._setUser=e.setUser||!0,this._clearAuthOn401=void 0===e.clearAuthOn401||e.clearAuthOn401,e.environment&&(this.environment=e.environment),e.apikey&&this._setAuth(e.apikey);try{this._jquery=e.jquery?e.jquery:jQuery}catch(e){console.error("Zenith requires a version of jQuery available!")}if(this._socket=null,this._auth&&1==this._setUser){var r=this;r.get("users/current",function(e,t){!e&&t.result?r.user=t.result:r._clearAuth(),"function"==typeof o&&o(r)})}else this.user=null,o(this)}Zenith.prototype._setAuth=function(e){if(e&&(this._auth="ApiKey "+e),!this._auth)try{var t=localStorage.getItem(this._localStorageName);if(t)try{this._auth="Bearer "+JSON.parse(t).value.trim()}catch(e){}}catch(e){console.warn(e)}},Zenith.prototype._updateAuth=function(e){try{localStorage.setItem(this._localStorageName,JSON.stringify({value:e.split("Bearer ")[1],isPersistent:!1,time:(new Date).toISOString()})),this._auth=e}catch(e){console.error(e)}},Zenith.prototype._clearAuth=function(){try{localStorage.removeItem(this._localStorageName),this._auth=null,this.user=null}catch(e){console.error(e)}},Zenith.prototype._getBearerAuth=function(){try{var e=localStorage.getItem(this._localStorageName);if(e)try{return"Bearer "+JSON.parse(e).value.trim()}catch(e){}}catch(e){console.warn(e)}return null},Zenith.prototype._setBearerAuth=function(e){try{localStorage.setItem(this._localStorageName,JSON.stringify({value:e.split("Bearer ")[1],isPersistent:!1,time:(new Date).toISOString()}))}catch(e){console.error(e)}},Zenith.prototype.__defineSetter__("environment",function(e){var t=["prod","demo","test","dev"];if(e=(e=e||"prod").toLowerCase(),-1===t.indexOf(e))throw new Error("Error: Quivers environment must be set to one of the following values: ["+t.join(",")+"]");this._env=e}),Zenith.prototype._websocketConnect=function(){this._reconnectCounter=this._reconnectCounter||0;var t=this;try{this._socket=new WebSocket(this._endpoint(!0)),this._socket.onopen=function(e){t._onWebsocketOpen(e)},this._socket.onmessage=function(e){t._onWebsocketMessage(e)},this._socket.onclose=function(e){t._onWebsocketClose(e)}}catch(e){console.warn("Quivers SDK will fallback to HTTP; websockets not supported in this browser.")}},Zenith.prototype._onWebsocketOpen=function(e){console.log("Successfully connected to "+this._endpoint(!0)+"!"),console.log(e)},Zenith.prototype._onWebsocketMessage=function(e){console.log("Received message from "+this._endpoint(!0)+"!"),console.log(e)},Zenith.prototype._onWebsocketClose=function(e){if(console.log(e),this._reconnectCounter++,this._reconnectCounter<5){var t=this;setTimeout(function(){t._websocketConnect()},3e3)}},Zenith.prototype._getCookie=function(e){for(var t=e+"=",o=document.cookie.split(";"),r=0;r<o.length;r++){for(var n=o[r];" "==n.charAt(0);)n=n.substring(1,n.length);if(0==n.indexOf(t))return n.substring(t.length,n.length)}return null},Zenith.prototype._setCookie=function(e,t,o){o||(o=3650);var r=new Date;r.setTime(r.getTime()+24*o*60*60*1e3);var n="; expires="+r.toGMTString();return document.cookie=e+"="+t+n+"; path=/",!0},Zenith.prototype._destroyCookie=function(e){return document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;",!0},Zenith.prototype._endpoint=function(e){var t,o=(e=e||!1)?"wss":"https";switch(this._env.toLowerCase()){case"prod":t="api.quivers.com";break;case"demo":t="api.quiversdemo.com";break;case"test":t="api.quiverstest.com";break;case"dev":t="localhost:8080",o=e?"ws":"http"}var r=o+"://"+t;return e?r:r+"/v1/"},Zenith.prototype._guid=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},Zenith.prototype._call=function(i,a,u,c,l){var h=this;return new Promise(function(n,s){if(l=l||null,"function"==typeof(u=u||null)&&(l=u,u=null),l||(l=function(){}),null!=h._socket&&h._socket.readyState===WebSocket.OPEN){var e={id:h._guid(),route:i.toUpperCase()+" v1/"+a,authorization:h._auth||null,compression:!1,cache:!1};switch(i.toUpperCase()){case"GET":e.get=u;break;default:e.post=u}return n(h._socket.send(JSON.stringify(e)))}var t={url:h._endpoint()+a,method:i.toUpperCase(),headers:{"Content-Type":"application/json",Accept:"application/json"}};if(c&&(t.headers["Cache-Control"]="max-age:"+c+"s"),h._auth?t.headers.Authorization=h._auth:t.headers.Authorization=h._getBearerAuth(),"GET"==i.toUpperCase())for(var o in u){var r=-1===t.url.indexOf("?")?"?":"&";try{"object"==typeof u[o]&&null!==u[o]&&(u[o]=JSON.stringify(u[o]))}catch(e){console.warn(e)}t.url+=r+o+"="+encodeURIComponent(u[o])}else t.data=JSON.stringify(u);t.context=h,t.complete=function(e){if(console.log(e),0===e.status)return"function"==typeof h.onFail&&h.onFail(e),s(new Error("HTTP Request Failed! API Unavailable."));var t=e.getResponseHeader("authorization");if(-1!==t.indexOf("Bearer ")&&h._setBearerAuth(t),e.status<300){var o=null;try{o=e.responseJSON?e.responseJSON:JSON.parse(e.responseText)}catch(r){o=e.responseText}return l(null,o,e),n(o)}401==e.status&&1==this._clearAuthOn401&&h._clearAuth();try{l(e.responseJSON,null,e),console.error(e.responseJSON);var r=new Error(e.responseJSON.error.message);return r.data=e.responseJSON,s(r)}catch(r){return l(e.responseText,null,e),s(new Error(e.responseText))}},t.success=function(){},t.error=function(){};h._jquery.ajax(t)})},Zenith.prototype.get=function(e,t,o){return this._call("GET",e,t,null,o)},Zenith.prototype.cachedGet=function(e,t,o,r){return this._call("GET",e,t,o,r)},Zenith.prototype.post=function(e,t,o){return this._call("POST",e,t,null,o)},Zenith.prototype.delete=function(e,t){return this._call("DELETE",e,null,null,t)},Zenith.prototype.auth=function(e,t,o){throw new Error("the auth() method is temporarily deprecated. Please authenticate by other means.")},Zenith.prototype.unauth=function(e){throw new Error("the unauth() method is temporarily deprecated. Please sign out by other means.")};$Quivers.Zoom={MarketplaceId:null,Init:function(gallerySelector){if(typeof gallerySelector=="undefined")
gallerySelector="qPicturesSlider";var images=$Quivers.Dom.Get('img[data-zoomable][data-zoom-image]');for(var i=0;i<images.length;i++){this.Bind(images[i]);}
this.BindGallery(gallerySelector);},Bind:function(img){if($Quivers.Utilities.IsMobileDevice())
return;var container=null;var lens=null;var win=null;var natural=null;var teardown=function(){if(container&&container.parentNode)
container.parentNode.removeChild(container);container=null;lens=null;win=null;};var build=function(){teardown();var rect=img.getBoundingClientRect();container=document.createElement("div");container.className="zoomContainer";container.setAttribute("style","position:absolute;top:"+(rect.top+window.pageYOffset)+"px;left:"+(rect.left+window.pageXOffset)+"px;height:"+rect.height+"px;width:"+rect.width+"px;pointer-events:none;");lens=document.createElement("div");lens.className="zoomLens";lens.setAttribute("style","position:absolute;overflow:hidden;background-color:#fff;opacity:0.5;filter:alpha(opacity=50);width:120px;height:120px;display:none;");win=document.createElement("div");win.className="zoomWindow";win.setAttribute("style","position:absolute;left:"+(rect.width+10)+"px;top:0px;overflow:hidden;background-repeat:no-repeat;display:none;width:"+rect.width+"px;height:"+rect.height+"px;border:1px solid #ccc;background-color:#fff;z-index:100;");container.appendChild(lens);container.appendChild(win);document.body.appendChild(container);};var loadNatural=function(url,callback){var probe=new Image();probe.onload=function(){natural={width:probe.naturalWidth||probe.width,height:probe.naturalHeight||probe.height};callback();};probe.onerror=function(){natural=null;};probe.src=url;};img.addEventListener('mouseenter',function(){var zoomImageUrl=img.getAttribute('data-zoom-image');if(!zoomImageUrl)
return;build();natural=null;loadNatural(zoomImageUrl,function(){if(!win)
return;win.style.backgroundImage="url('"+zoomImageUrl+"')";if(natural)
win.style.backgroundSize=natural.width+"px "+natural.height+"px";});});img.addEventListener('mousemove',function(ev){if(!container||!lens||!win)
return;var rect=img.getBoundingClientRect();var lensWidth=lens.offsetWidth||120;var lensHeight=lens.offsetHeight||120;var x=ev.clientX-rect.left;var y=ev.clientY-rect.top;var lensX=Math.min(Math.max(x-lensWidth/2,0),Math.max(rect.width-lensWidth,0));var lensY=Math.min(Math.max(y-lensHeight/2,0),Math.max(rect.height-lensHeight,0));lens.style.left=lensX+"px";lens.style.top=lensY+"px";lens.style.display="block";win.style.display="block";if(natural&&rect.width>0&&rect.height>0){var ratioX=natural.width/rect.width;var ratioY=natural.height/rect.height;win.style.backgroundPosition="-"+Math.round(lensX*ratioX)+"px -"+Math.round(lensY*ratioY)+"px";}});img.addEventListener('mouseleave',function(){teardown();});},BindGallery:function(gallerySelector){var gallery=document.getElementById(gallerySelector);if(!gallery)
return;var thumbs=$Quivers.Dom.Get('#'+gallerySelector+' a[data-image]');thumbs.forEach(function(thumb){thumb.addEventListener('click',function(ev){ev.preventDefault();var newImage=thumb.getAttribute('data-image');var newZoomImage=thumb.getAttribute('data-zoom-image');var mainImages=$Quivers.Dom.Get('#qCurrentPicture img[data-zoomable]');mainImages.forEach(function(mainImg){mainImg.src=newImage;if(mainImg.hasAttribute('data-zoom-image')&&newZoomImage)
mainImg.setAttribute('data-zoom-image',newZoomImage);});});});}};;window.$Quivers=$Quivers;})();