//#import $owl_mall_sku_inventory:services/modelService.jsx

var SkuUtil = (function () {
    var f = {
        getSkuAttrs: function (jProduct, jSku) {
            var attrs = "";
            var sku_attrs = jProduct.sku_attrs;
            if (sku_attrs) {
                for (var i = 0; i < sku_attrs.length; i++) {
                    var jAttr = sku_attrs[i];
                    if (attrs != "") {
                        attrs += ","
                    }
                    attrs += jAttr.attr_id + ":" + (jSku[jAttr.attr_id] || "");
                }
            }
            return attrs;
        },
        getSkuAttrsName: function (jProduct, jSku) {
            var attrs = "";
            var sku_attrs = jProduct.sku_attrs;
            if (sku_attrs) {
                for (var i = 0; i < sku_attrs.length; i++) {
                    var jAttr = sku_attrs[i];
                    if (attrs != "") {
                        attrs += ","
                    }
                    attrs += jAttr.attr_name + ":" + (jSku[jAttr.attr_id] || "");
                }
            }
            return attrs;
        },
        getSkuAttrValues: function (jProduct, jSku) {
            var attrs = "";
            var sku_attrs = jProduct.sku_attrs;
            if (sku_attrs) {
                for (var i = 0; i < sku_attrs.length; i++) {
                    var jAttr = sku_attrs[i];
                    if (attrs != "") {
                        attrs += ","
                    }
                    attrs += (jSku[jAttr.attr_id] || "");
                }
            }
            return attrs;
        },
        getSkuBySkuId: function (skus, skuId) {
            if (skus) {
                for (var i = 0; i < skus.length; i++) {
                    if (skus[i].id === skuId) {
                        return skus[i];
                    }
                }
            }
            return null;
        },
        updateSkuRealInventory: function (jSku, amount) {
            var jSkuInventory = owl_mall_sku_inventoryService.get("owl_mall_sku_inventory_" + jSku.id);
            if (jSkuInventory) {
                jSkuInventory.real_inventory = Number(amount);
                owl_mall_sku_inventoryService.update(jSkuInventory);
            } else {
                jSkuInventory = {};
                jSkuInventory.product_id = jSku.product_id;
                jSkuInventory.skuId = jSku.id;
                jSkuInventory.real_inventory = Number(amount);
                jSkuInventory.lock_number = 0;
                jSkuInventory._orgId = jSku._orgId;
                jSkuInventory._orgIds = jSku._orgIds;
                owl_mall_sku_inventoryService.add(jSkuInventory);
            }
        }
    };
    return f;
})();