var generic=generic||{},Model=Model||{};!function(r){var e;Model.DoorsInventory=(e={data:null,defaultZipRegEx:"(^\\d{5}(-\\d{4})?$)|(^[ABCEGHJKLMNPRSTVXYabceghjklmnpstvxy]{1}\\d{1}[A-Za-z]{1} ?\\d{1}[A-Za-z]{1}\\d{1})$",storeTypesReq:["MAC","MAC_PRO","MAC Pro","Mac Pro","MAC PRO","Mac PRO"]},Drupal.settings.globals_variables.enable_partner_count&&(e.storeTypesReq.push("Partner Store"),e.storeTypePartner=e.storeTypesReq.slice(-1)[0]),e.load=function(e){var a=this,t=[],s=e||{},n=s.zip||null,o=s.latitude||null,u=s.longitude||null,i=s.radius||10,l=s.state||null,d=s.city||null,c=s.region_id||null,p=s.inv_store_types?s.inv_store_types.split(","):a.storeTypesReq,v=s.display&&"_"!=s.display?s.display:null,y=_.isArray(s.skus)?s.skus:[s.skus],f=s.callback||null,g=s.useHeader||!1,D=s.safetyStock||0,m=s.uom||"km";Drupal.settings.globals_variables.enable_prod_store_check_kilometer||(m=s.uom||"mile"),p=_.map(p,_.trim);var S={params:[{fields:a.queryFields,radius:i,display:v,region_id:c,inv_store_types:p,skus:y,safetyStock:D,uom:m}]};n?Drupal.settings.globals_variables.enable_iv_store_locator?(S.params[0].latitude=o,S.params[0].longitude=u):a.getLocalisedZipRegEx(Drupal.settings.globals_variables).test(n)?S.params[0].zip=n:t.push({key:"err_invalid_zip"}):l&&d?(S.params[0].state=l,S.params[0].city=d):g?S.params[0].use_header=1:t.push({key:"err_missing_zip"});var k=document.location.search.match(/OVERRIDE_CITY=(\w*)/);!k||!k[1]||n||l||d||(S.params[0].fake_mode=k[1],S.params[0].show_message=1,S.params[0].use_header=1),S.onSuccess=function(e){"function"==typeof f&&f(e),r(document).trigger("DoorsInventory:query:success",e)},S.onFailure=function(e){f&&f(e),r(document).trigger("DoorsInventory:query:failure",e)},t[0]?r(document).trigger("DoorsInventory:query:failure",{errors:t}):a.query(S)},e.loadDoorsOnly=function(e){var a=e||{},t=a.radius||100;Drupal.settings.globals_variables.enable_iv_store_locator&&(t=a.radius||25);var s=a.callback||null,n=_.isArray(a.skus)?a.skus:[a.skus],o={params:[{fields:this.queryFields,radius:t,skus:n,use_header:1}]};e.region_id&&(o.params[0].region_id=e.region_id),o.onSuccess=function(e){s&&s(e),r(document).trigger("DoorsInventory:query:success",e)},o.onFailure=function(e){s&&s(e),r(document).trigger("DoorsInventory:query:failure",e)},this.query(o)},e.query=function(r){var e=this,a=r||{},t="locator.doorsandevents";try{a.params[0]&&a.params[0].skus&&(t="locator.doorsandskustatus")}catch(r){}generic.jsonrpc.fetch({method:t,params:a.params,onSuccess:function(r){if(a.onSuccess&&"function"==typeof a.onSuccess){var t=r.getValue();t.params=a.params,t.sorted=e.filterResults(t,a),t.results=e.updateResults(t),Drupal.settings.globals_variables.enable_partner_count&&(t.partnerCount=e.partnerStoreCount(t.results),t.partnerTypeValue=e.storeTypePartner),e.data=t,a.onSuccess(t)}},onFailure:function(r){a.onFailure&&"function"==typeof a.onFailure&&a.onFailure(r)}})},e.partnerStoreCount=function(r){var a=0;return _.filter(r,(function(r){r.STORE_TYPE===e.storeTypePartner&&a++})),a},e.updateResults=function(e){if(!e||!e.results)return null;var a=r.extend({},e.results);for(var t in a)if(a[t]&&a[t].DISTANCE){var s=a[t].DISTANCE.match(/\d*.\d/);s&&(a[t].distance_short=parseFloat(s[0]))}return a},e.checkSkuAvailability=function(r,e,a){var t=0;return r.skus_onhand&&r.skus_onhand[e]&&r.skus_onhand[e].available_qty-a>0&&(t=1),t},e.filterResults=function(e,a){var t=a||{},s=r.extend({},e);if(e.params[0].skus[0],e.params[0].safetyStock,e.door_inventory)for(var n in e.door_inventory){var o=e.door_inventory[n];_.extend(s.results[n],o)}if(s.maxDistance){var u={};for(var n in s.results)s.results[n].DISTANCEt?1:a-1})),i},e.getDoorSkuInventoryData=function(r){var a=r||{},t=a.doorId?a.doorId.toString():null,s=a.skuId?a.skuId.toString():null,n=(a.callback,e.data&&e.data.door_inventory?e.data.door_inventory:null);if(!t&&!s)return n;var o=n&&n[t]?n[t]:null;return o&&(o=o&&o.skus_onhand?o.skus_onhand:null)&&o[s]?o[s]:null},e.isDoorSkuInStock=function(r){var a=r.callback,t=e.getDoorSkuInventoryData(r),s=null;if(t&&t.is_available?s=!0:t&&t.is_unavailable&&(s=!1),"function"!=typeof a)return s;a(s)},e.getSortedDoors=function(){return e.data&&e.data.sorted?e.data.sorted:[]},e.getDoorsWithInv=function(){if(!e.data||!e.data.door_inventory)return[];var r=[],a=0;for(var t in e.data.door_inventory)r.push(e.data.results[t]),r[a]=_.extend(r[a],e.data.door_inventory[t]),a++;return r},e.getDoors=function(r){if(!e.data)return null;var a=[];if(!r){for(var t in e.data.results)a.push(e.data.results[t]);return a}var s=[];_.isArray(r)?s=r:s.push(r);var n=_.map(s,(function(r){return e.data.results[r]}));return n},e.getDoorSkuPolledDate=function(r){var a=e.getDoorSkuInventoryData(r),t=a&&a.last_polled_date?a.last_polled_date:null;return(t?t.match(/([\w\d\/]*)/gi):[])[0]},e.getLocalisedZipRegEx=function(r){if(void 0!==r.prod_store_check_zipcode_regex)try{return new RegExp(r.prod_store_check_zipcode_regex,"i")}catch(r){}return new RegExp(e.defaultZipRegEx)},e.queryFields="DOOR_ID, DOORNAME, STORE_HOURS, ADDRESS, ADDRESS2, STATE_OR_PROVINCE, CITY, REGION, COUNTRY, ZIP_OR_POSTAL, PHONE1, STORE_TYPE, LONGITUDE, LATITUDE, JDA_STORE_NUMBER, STORE_TYPE, SUB_HEADING",e.queryDoorsFields="DOOR_ID",e)}(jQuery); //# sourceMappingURL=doors_inventory_v1.min.js.map